aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/gnome.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/modules/gnome.py')
-rw-r--r--mesonbuild/modules/gnome.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 6d67472..c0a3bbf 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -869,12 +869,12 @@ This will become a hard error in the future.''')
return []
@permittedKwargs({'interface_prefix', 'namespace', 'object_manager', 'build_by_default',
- 'annotations', 'docbook', 'install_header', 'install_dir'})
+ 'annotations', 'docbook', 'install_header', 'install_dir', 'sources'})
def gdbus_codegen(self, state, args, kwargs):
- if len(args) != 2:
- raise MesonException('Gdbus_codegen takes two arguments, name and xml file.')
+ if len(args) not in (1, 2):
+ raise MesonException('Gdbus_codegen takes at most two arguments, name and xml file.')
namebase = args[0]
- xml_file = args[1]
+ xml_files = [args[1:]]
target_name = namebase + '-gdbus'
cmd = [self.interpreter.find_program_impl('gdbus-codegen')]
if 'interface_prefix' in kwargs:
@@ -883,6 +883,8 @@ This will become a hard error in the future.''')
cmd += ['--c-namespace', kwargs.pop('namespace')]
if kwargs.get('object_manager', False):
cmd += ['--c-generate-object-manager']
+ if 'sources' in kwargs:
+ xml_files += mesonlib.listify(kwargs.pop('sources'))
build_by_default = kwargs.get('build_by_default', False)
# Annotations are a bit ugly in that they are a list of lists of strings...
@@ -904,7 +906,7 @@ This will become a hard error in the future.''')
install_dir = kwargs.get('install_dir', state.environment.coredata.get_builtin_option('includedir'))
output = namebase + '.c'
- custom_kwargs = {'input': xml_file,
+ custom_kwargs = {'input': xml_files,
'output': output,
'command': cmd + ['--body', '--output', '@OUTDIR@/' + output, '@INPUT@'],
'build_by_default': build_by_default
@@ -912,7 +914,7 @@ This will become a hard error in the future.''')
targets.append(build.CustomTarget(output, state.subdir, state.subproject, custom_kwargs))
output = namebase + '.h'
- custom_kwargs = {'input': xml_file,
+ custom_kwargs = {'input': xml_files,
'output': output,
'command': cmd + ['--header', '--output', '@OUTDIR@/' + output, '@INPUT@'],
'build_by_default': build_by_default,
@@ -929,7 +931,7 @@ This will become a hard error in the future.''')
docbook_cmd = cmd + ['--output-directory', '@OUTDIR@', '--generate-docbook', docbook, '@INPUT@']
output = namebase + '-docbook'
- custom_kwargs = {'input': xml_file,
+ custom_kwargs = {'input': xml_files,
'output': output,
'command': docbook_cmd,
'build_by_default': build_by_default
@@ -952,7 +954,7 @@ This will become a hard error in the future.''')
self._print_gdbus_warning()
cmd += ['--generate-c-code', '@OUTDIR@/' + namebase, '@INPUT@']
outputs = [namebase + '.c', namebase + '.h']
- custom_kwargs = {'input': xml_file,
+ custom_kwargs = {'input': xml_files,
'output': outputs,
'command': cmd,
'build_by_default': build_by_default