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/tools/meson.build b/tools/meson.build
index 4fd556c..6f0e444 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,3 +1,29 @@
+sdbusplusplus_depfiles = files(
+ 'sdbus++',
+ 'sdbusplus/enum.py',
+ 'sdbusplus/error.py',
+ 'sdbusplus/__init__.py',
+ 'sdbusplus/interface.py',
+ 'sdbusplus/main.py',
+ 'sdbusplus/method.py',
+ 'sdbusplus/namedelement.py',
+ 'sdbusplus/property.py',
+ 'sdbusplus/renderer.py',
+ 'sdbusplus/signal.py',
+ 'sdbusplus/templates/error.cpp.mako',
+ 'sdbusplus/templates/error.hpp.mako',
+ 'sdbusplus/templates/error.md.mako',
+ 'sdbusplus/templates/interface.client.hpp.mako',
+ 'sdbusplus/templates/interface.md.mako',
+ 'sdbusplus/templates/interface.server.cpp.mako',
+ 'sdbusplus/templates/interface.server.hpp.mako',
+ 'sdbusplus/templates/method.md.mako',
+ 'sdbusplus/templates/method.prototype.hpp.mako',
+ 'sdbusplus/templates/property.md.mako',
+ 'sdbusplus/templates/property.prototype.hpp.mako',
+ 'sdbusplus/templates/signal.md.mako',
+ 'sdbusplus/templates/signal.prototype.hpp.mako',
+)
meson.override_find_program('sdbus++', files('sdbus++'))
sdbusplusplus_prog = find_program('sdbus++', native: true)
diff --git a/tools/sdbus++-gen-meson b/tools/sdbus++-gen-meson
index 549eb58..7e46f9c 100755
--- a/tools/sdbus++-gen-meson
+++ b/tools/sdbus++-gen-meson
@@ -36,7 +36,7 @@
## if a repository contains old copies of the generated meson.build files and
## needs an update. We should increment the version number whenever the
## resulting meson.build would change.
-tool_version="sdbus++-gen-meson version 3"
+tool_version="sdbus++-gen-meson version 4"
function show_version {
echo "${tool_version}"
}
@@ -205,6 +205,7 @@
'$1__cpp'.underscorify(),
input: [ ${sources} ],
output: [ ${outputs} ],
+ depend_files: sdbusplusplus_depfiles,
command: [
sdbuspp_gen_meson_prog, '--command', 'cpp',
'--output', meson.current_build_dir(),
@@ -236,6 +237,7 @@
'$1__markdown'.underscorify(),
input: [ ${sources} ],
output: [ '$(basename "$1").md' ],
+ depend_files: sdbusplusplus_depfiles,
command: [
sdbuspp_gen_meson_prog, '--command', 'markdown',
'--output', meson.current_build_dir(),