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,
         ],
     ),
 )