diff options
author | Iñigo MartÃnez <inigomartinez@gmail.com> | 2017-12-19 17:45:58 +0100 |
---|---|---|
committer | Iñigo MartÃnez <inigomartinez@gmail.com> | 2017-12-19 17:45:58 +0100 |
commit | f92d117becb21111d2c7f0f1f17e47d87c1184a1 (patch) | |
tree | 51e803aceba71588cec5036170d65fb11dee126f | |
parent | 8eaa0a27323e9fbee01b8aa0cf165cd499b78ee1 (diff) | |
download | meson-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.py | 23 |
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) |