meson: Use subprojects where possible
Change-Id: Id49b7db21f7f44d5183549430988fd33b9166edb
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/meson.build b/test/meson.build
index 0e4faf0..f5b9fe3 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,5 +1,25 @@
-gtest = dependency('gtest', main: true, disabler: true, required: get_option('tests'))
-gmock = dependency('gmock', disabler: true, required: get_option('tests'))
+gtest = dependency('gtest', main: true, disabler: true, required: false)
+gmock = dependency('gmock', disabler: true, required: false)
+if not gtest.found() or not gmock.found()
+ gtest_opts = import('cmake').subproject_options()
+ gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
+ gtest_proj = import('cmake').subproject(
+ 'googletest',
+ options: gtest_opts,
+ required: false)
+ if gtest_proj.found()
+ gtest = declare_dependency(
+ dependencies: [
+ dependency('threads'),
+ gtest_proj.dependency('gtest'),
+ gtest_proj.dependency('gtest_main'),
+ ])
+ gmock = gtest_proj.dependency('gmock')
+ else
+ assert(not build_tests.enabled(), 'Googletest is required')
+ endif
+endif
+
tests = [
'watchdog',