aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2017-12-19 17:45:58 +0100
committerIñigo Martínez <inigomartinez@gmail.com>2017-12-19 17:45:58 +0100
commitf92d117becb21111d2c7f0f1f17e47d87c1184a1 (patch)
tree51e803aceba71588cec5036170d65fb11dee126f
parent8eaa0a27323e9fbee01b8aa0cf165cd499b78ee1 (diff)
downloadmeson-f92d117becb21111d2c7f0f1f17e47d87c1184a1.zip
meson-f92d117becb21111d2c7f0f1f17e47d87c1184a1.tar.gz
meson-f92d117becb21111d2c7f0f1f17e47d87c1184a1.tar.bz2
gnome.gtkdoc: Add support for non string based content files
gnome's gtkdoc function does not support content files which are not strings. However, there are situations where files generated by other targets might be needed.
-rw-r--r--mesonbuild/modules/gnome.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 7a01abc..434c174 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -776,7 +776,28 @@ This will become a hard error in the future.''')
args += self._unpack_args('--fixxrefargs=', 'fixxref_args', kwargs)
args += self._unpack_args('--mkdbargs=', 'mkdb_args', kwargs)
args += self._unpack_args('--html-assets=', 'html_assets', kwargs, state)
- args += self._unpack_args('--content-files=', 'content_files', kwargs, state)
+
+ content_files = []
+ for s in mesonlib.extract_as_list(kwargs, 'content_files'):
+ if hasattr(s, 'held_object'):
+ s = s.held_object
+ if isinstance(s, (build.CustomTarget, build.CustomTargetIndex)):
+ content_files.append(os.path.join(state.environment.get_build_dir(),
+ state.backend.get_target_dir(s),
+ s.get_outputs()[0]))
+ elif isinstance(s, mesonlib.File):
+ content_files.append(s.rel_to_builddir(state.build_to_src))
+ elif isinstance(s, build.GeneratedList):
+ for gen_src in s.get_outputs():
+ content_files.append(os.path.join(state.environment.get_source_dir(),
+ state.subdir,
+ gen_src))
+ else:
+ content_files.append(os.path.join(state.environment.get_source_dir(),
+ state.subdir,
+ s))
+ args += ['--content-files=' + '@@'.join(content_files)]
+
args += self._unpack_args('--expand-content-files=', 'expand_content_files', kwargs, state)
args += self._unpack_args('--ignore-headers=', 'ignore_headers', kwargs)
args += self._unpack_args('--installdir=', 'install_dir', kwargs, state)