meson: Rework valijson subproject dependency
Change-Id: I96417251d9a73619cd014b93fd6067e51cc416d3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/meson.build b/meson.build
index 981f6dc..c4303fe 100644
--- a/meson.build
+++ b/meson.build
@@ -9,6 +9,9 @@
license: 'Apache-2.0',
version: '0.1',
)
+
+cmake = import('cmake')
+
add_project_arguments('-Wno-psabi', language: 'cpp')
boost_args = [
@@ -52,15 +55,17 @@
meson.project_name(),
)
threads = dependency('threads')
-if cpp.has_header('valijson/validator.hpp')
- valijson = declare_dependency()
-else
- subproject('valijson', required: false)
- valijson = declare_dependency(
- include_directories: 'subprojects/valijson/include'
- )
- valijson = valijson.as_system('system')
+
+valijson_dep = dependency('valijson', required: false)
+if not valijson_dep.found()
+ valijson_opt = cmake.subproject_options()
+ valijson_opt.add_cmake_defines({'valijson_BUILD_TESTS': false,
+ 'valijson_BUILD_EXAMPLES': false})
+ valijson_proj = cmake.subproject('valijson', options: valijson_opt)
+ valijson_dep = valijson_proj.dependency('valijson')
+ valijson = valijson_dep.partial_dependency(includes: true).as_system()
endif
+valijson = valijson.partial_dependency(includes: true).as_system()
install_data('blacklist.json')
@@ -158,7 +163,6 @@
test_boost_args = boost_args + ['-DBOOST_ASIO_DISABLE_THREADS']
gtest = dependency('gtest', main: true, disabler: true, required: false)
if not gtest.found() and build_tests.enabled()
- cmake = import('cmake')
gtest_subproject = cmake.subproject('gtest')
cm_gtest = gtest_subproject.dependency('gtest')
cm_gtest_main = gtest_subproject.dependency('gtest_main')
diff --git a/subprojects/valijson.wrap b/subprojects/valijson.wrap
index 736d202..707c227 100644
--- a/subprojects/valijson.wrap
+++ b/subprojects/valijson.wrap
@@ -1,3 +1,3 @@
[wrap-git]
-revision = c2f22fddf599d04dc33fcd7ed257c698a05345d9
+revision = 66262bafb82c946ba583ba33e96d35e633d5898a
url = https://github.com/tristanpenman/valijson.git