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