|
@@ -0,0 +1,147 @@
|
|
|
+From 6bc55ec35d02931960ec1f5768fc9c56ab62ef66 Mon Sep 17 00:00:00 2001
|
|
|
+From: David Seifert <16636962+SoapGentoo@users.noreply.github.com>
|
|
|
+Date: Tue, 7 Jan 2020 02:23:50 +0100
|
|
|
+Subject: [PATCH] Meson updates (#1124)
|
|
|
+
|
|
|
+* Modernize meson.build
|
|
|
+
|
|
|
+* Make tests optional
|
|
|
+* Use `files()` for quick sanity checks
|
|
|
+
|
|
|
+* Bump version to 1.9.3
|
|
|
+
|
|
|
+* Bump SOVERSION, as some functions were removed
|
|
|
+ and structs were changed, as determined by
|
|
|
+ libabigail.
|
|
|
+
|
|
|
+[Retrieved from:
|
|
|
+https://github.com/open-source-parsers/jsoncpp/commit/6bc55ec35d02931960ec1f5768fc9c56ab62ef66]
|
|
|
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
+---
|
|
|
+ CMakeLists.txt | 2 +-
|
|
|
+ include/json/version.h | 4 ++--
|
|
|
+ meson.build | 33 ++++++++++++++++++---------------
|
|
|
+ meson_options.txt | 5 +++++
|
|
|
+ 4 files changed, 26 insertions(+), 18 deletions(-)
|
|
|
+ create mode 100644 meson_options.txt
|
|
|
+
|
|
|
+diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
|
+index 4e063317..c05ddccb 100644
|
|
|
+--- a/CMakeLists.txt
|
|
|
++++ b/CMakeLists.txt
|
|
|
+@@ -70,7 +70,7 @@ project(JSONCPP
|
|
|
+ # 2. /include/json/version.h
|
|
|
+ # 3. /CMakeLists.txt
|
|
|
+ # IMPORTANT: also update the SOVERSION!!
|
|
|
+- VERSION 1.9.2 # <major>[.<minor>[.<patch>[.<tweak>]]]
|
|
|
++ VERSION 1.9.3 # <major>[.<minor>[.<patch>[.<tweak>]]]
|
|
|
+ LANGUAGES CXX)
|
|
|
+
|
|
|
+ message(STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR}.${JSONCPP_VERSION_MINOR}.${JSONCPP_VERSION_PATCH}")
|
|
|
+diff --git a/include/json/version.h b/include/json/version.h
|
|
|
+index ff94372b..0f298341 100644
|
|
|
+--- a/include/json/version.h
|
|
|
++++ b/include/json/version.h
|
|
|
+@@ -9,10 +9,10 @@
|
|
|
+ // 3. /CMakeLists.txt
|
|
|
+ // IMPORTANT: also update the SOVERSION!!
|
|
|
+
|
|
|
+-#define JSONCPP_VERSION_STRING "1.9.2"
|
|
|
++#define JSONCPP_VERSION_STRING "1.9.3"
|
|
|
+ #define JSONCPP_VERSION_MAJOR 1
|
|
|
+ #define JSONCPP_VERSION_MINOR 9
|
|
|
+-#define JSONCPP_VERSION_PATCH 2
|
|
|
++#define JSONCPP_VERSION_PATCH 3
|
|
|
+ #define JSONCPP_VERSION_QUALIFIER
|
|
|
+ #define JSONCPP_VERSION_HEXA \
|
|
|
+ ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \
|
|
|
+diff --git a/meson.build b/meson.build
|
|
|
+index 1bc94a8a..c2932030 100644
|
|
|
+--- a/meson.build
|
|
|
++++ b/meson.build
|
|
|
+@@ -9,7 +9,7 @@ project(
|
|
|
+ # 2. /include/json/version.h
|
|
|
+ # 3. /CMakeLists.txt
|
|
|
+ # IMPORTANT: also update the SOVERSION!!
|
|
|
+- version : '1.9.2',
|
|
|
++ version : '1.9.3',
|
|
|
+ default_options : [
|
|
|
+ 'buildtype=release',
|
|
|
+ 'cpp_std=c++11',
|
|
|
+@@ -18,7 +18,7 @@ project(
|
|
|
+ meson_version : '>= 0.49.0')
|
|
|
+
|
|
|
+
|
|
|
+-jsoncpp_headers = [
|
|
|
++jsoncpp_headers = files([
|
|
|
+ 'include/json/allocator.h',
|
|
|
+ 'include/json/assertions.h',
|
|
|
+ 'include/json/config.h',
|
|
|
+@@ -28,7 +28,8 @@ jsoncpp_headers = [
|
|
|
+ 'include/json/reader.h',
|
|
|
+ 'include/json/value.h',
|
|
|
+ 'include/json/version.h',
|
|
|
+- 'include/json/writer.h']
|
|
|
++ 'include/json/writer.h',
|
|
|
++])
|
|
|
+ jsoncpp_include_directories = include_directories('include')
|
|
|
+
|
|
|
+ install_headers(
|
|
|
+@@ -44,13 +45,12 @@ else
|
|
|
+ endif
|
|
|
+
|
|
|
+ jsoncpp_lib = library(
|
|
|
+- 'jsoncpp',
|
|
|
+- [ jsoncpp_headers,
|
|
|
+- 'src/lib_json/json_tool.h',
|
|
|
++ 'jsoncpp', files([
|
|
|
+ 'src/lib_json/json_reader.cpp',
|
|
|
+ 'src/lib_json/json_value.cpp',
|
|
|
+- 'src/lib_json/json_writer.cpp'],
|
|
|
+- soversion : 22,
|
|
|
++ 'src/lib_json/json_writer.cpp',
|
|
|
++ ]),
|
|
|
++ soversion : 23,
|
|
|
+ install : true,
|
|
|
+ include_directories : jsoncpp_include_directories,
|
|
|
+ cpp_args: dll_export_flag)
|
|
|
+@@ -66,18 +66,21 @@ import('pkgconfig').generate(
|
|
|
+ jsoncpp_dep = declare_dependency(
|
|
|
+ include_directories : jsoncpp_include_directories,
|
|
|
+ link_with : jsoncpp_lib,
|
|
|
+- version : meson.project_version(),
|
|
|
+- )
|
|
|
++ version : meson.project_version())
|
|
|
+
|
|
|
+ # tests
|
|
|
+-python = import('python').find_installation()
|
|
|
++if meson.is_subproject() or not get_option('tests')
|
|
|
++ subdir_done()
|
|
|
++endif
|
|
|
++
|
|
|
++python = import('python').find_installation('python3')
|
|
|
+
|
|
|
+ jsoncpp_test = executable(
|
|
|
+- 'jsoncpp_test',
|
|
|
+- [ 'src/test_lib_json/jsontest.cpp',
|
|
|
+- 'src/test_lib_json/jsontest.h',
|
|
|
++ 'jsoncpp_test', files([
|
|
|
++ 'src/test_lib_json/jsontest.cpp',
|
|
|
+ 'src/test_lib_json/main.cpp',
|
|
|
+- 'src/test_lib_json/fuzz.cpp'],
|
|
|
++ 'src/test_lib_json/fuzz.cpp',
|
|
|
++ ]),
|
|
|
+ include_directories : jsoncpp_include_directories,
|
|
|
+ link_with : jsoncpp_lib,
|
|
|
+ install : false,
|
|
|
+diff --git a/meson_options.txt b/meson_options.txt
|
|
|
+new file mode 100644
|
|
|
+index 00000000..9c215ae6
|
|
|
+--- /dev/null
|
|
|
++++ b/meson_options.txt
|
|
|
+@@ -0,0 +1,5 @@
|
|
|
++option(
|
|
|
++ 'tests',
|
|
|
++ type : 'boolean',
|
|
|
++ value : true,
|
|
|
++ description : 'Enable building tests')
|