sdbus++: Fix meson dependency generation
All of the generated meson files optionally look for sdbus++ sources
that can be plumbed in to allow changes to the generator code to
correctly trigger rebuilds.
This will require adding a new variable prior to generated sources,
`sdbusplusplus_depfiles`. You can convert previous meson defitions with
the follwing.
```
sdbusplus_dep = dependency('sdbusplus')
sdbusplusplus_prog = find_program('sdbus++', native: true)
sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true)
sdbusplusplus_depfiles = files()
if sdbusplus_dep.type_name() == 'internal'
sdbusplusplus_depfiles = subproject('sdbusplus').get_variable('sdbusplusplus_depfiles')
endif
```
Change-Id: Ic2d5bafdbdd2595be8c44e0e616e590143639f21
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/meson.build b/test/meson.build
index 0deeed8..64dbc0e 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -81,15 +81,22 @@
),
)
-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')
+subdir('server/Test')
+server_test_lib = static_library(
+ 'server-test',
+ server_test_sources,
+ dependencies: sdbusplus_dep,
+)
+server_test_hpp = []
+foreach f : server_test_sources.to_list()
+ if f.full_path().endswith('.hpp')
+ server_test_hpp += f
+ endif
+endforeach
+server_test_dep = declare_dependency(
+ link_with: server_test_lib,
+ dependencies: sdbusplus_dep,
+ sources: server_test_hpp,
)
test(
@@ -97,12 +104,10 @@
executable(
'test-server',
'server/object.cpp',
- server_files,
- include_directories: include_directories('server'),
dependencies: [
gmock_dep,
gtest_dep,
- sdbusplus_dep,
+ server_test_dep,
],
),
)
@@ -112,12 +117,10 @@
executable(
'test-server-message-variant',
'server/message_variant.cpp',
- server_files,
- include_directories: include_directories('server'),
dependencies: [
gmock_dep,
gtest_dep,
- sdbusplus_dep,
+ server_test_dep,
],
),
)