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