meson: feature match autotools support
Add support to build the example and test directories, which
will get us feature match with the current autotools-based build.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ib0789b6a715be366601eb639fd70ca3da9536a66
diff --git a/test/meson.build b/test/meson.build
new file mode 100644
index 0000000..7debf0e
--- /dev/null
+++ b/test/meson.build
@@ -0,0 +1,76 @@
+gtest_dep = dependency('gtest')
+gtest_main_dep = dependency('gtest_main')
+gmock_dep = dependency('gmock')
+gmock_main_dep = dependency('gmock_main')
+
+tests = [
+ 'bus/list_names',
+ 'bus/match',
+ 'exception/sdbus_error',
+ 'message/append',
+ 'message/read',
+ 'message/native_types',
+ 'message/types',
+ 'timer',
+ 'utility/tuple_to_array',
+ 'utility/type_traits',
+]
+
+foreach t : tests
+ test(
+ 'test_' + t.underscorify(),
+ executable(
+ 'test-' + t.underscorify(),
+ t + '.cpp',
+ include_directories: root_inc,
+ link_with: libsdbusplus,
+ dependencies: [
+ gtest_dep,
+ gmock_dep,
+ gmock_main_dep,
+ libsystemd_pkg,
+ ],
+ )
+ )
+endforeach
+
+test(
+ 'test-vtable',
+ executable(
+ 'test-vtable',
+ 'vtable/vtable.cpp',
+ 'vtable/vtable_c.c',
+ include_directories: root_inc,
+ link_with: libsdbusplus,
+ dependencies: [ gtest_dep, gtest_main_dep, libsystemd_pkg ],
+ ),
+)
+
+server_buildroot = meson.current_build_dir()
+server_files = files(
+ run_command(
+ sdbusgen_prog,
+ '--tool', sdbusplusplus_prog,
+ '--output', server_buildroot,
+ 'server',
+ check: true
+ ).stdout().strip().split('\n')
+)
+
+test(
+ 'test-server',
+ executable(
+ 'test-server',
+ 'server/object.cpp',
+ server_files,
+ include_directories: [ root_inc, include_directories('server') ],
+ link_with: libsdbusplus,
+ dependencies: [
+ gmock_dep,
+ gmock_main_dep,
+ gtest_dep,
+ libsystemd_pkg,
+ pthread_dep,
+ ],
+ ),
+)