Add a meson option to enable googletest
This adds infrastructure to enable and support unit tests using
googletest.
Tested:
Confirmed that the option correctly enables googletest.
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Change-Id: I8a93305391cc69b607ce5e22390f3140455e66e0
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 0000000..f4f7900
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,38 @@
+gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
+gmock_dep = dependency('gmock', disabler: true, required: false)
+if not gtest_dep.found() or not gmock_dep.found()
+ gtest_proj = import('cmake').subproject('googletest', required: false)
+ if gtest_proj.found()
+ gtest_dep = declare_dependency(
+ dependencies: [
+ dependency('threads'),
+ gtest_proj.dependency('gtest'),
+ gtest_proj.dependency('gtest_main'),
+ ]
+ )
+ gmock_dep = gtest_proj.dependency('gmock')
+ else
+ assert(
+ not get_option('tests').enabled(),
+ 'Googletest is required if tests are enabled'
+ )
+ endif
+endif
+
+unit_tests = [
+]
+
+if get_option('tests').enabled()
+ # generate the test executable
+ foreach unit_test : unit_tests
+ test(unit_test, executable(
+ unit_test,
+ unit_test + '.cpp',
+ include_directories: incs,
+ dependencies: deps + [
+ gtest_dep,
+ gmock_dep,
+ ])
+ )
+ endforeach
+endif