diff options
author | Iñigo MartÃnez <inigomartinez@gmail.com> | 2017-12-22 20:58:13 +0100 |
---|---|---|
committer | Iñigo MartÃnez <inigomartinez@gmail.com> | 2017-12-22 20:58:13 +0100 |
commit | f022cb3a40d16f4ac36c82c709a84b9aa45a6ee7 (patch) | |
tree | d8b1ba6cfa16a3571bed9e9d334d3d16cf22507b | |
parent | f92d117becb21111d2c7f0f1f17e47d87c1184a1 (diff) | |
download | meson-f022cb3a40d16f4ac36c82c709a84b9aa45a6ee7.zip meson-f022cb3a40d16f4ac36c82c709a84b9aa45a6ee7.tar.gz meson-f022cb3a40d16f4ac36c82c709a84b9aa45a6ee7.tar.bz2 |
gnome.gtkdoc: Add dependencies over generated targets
The gtkdoc function can also use generated targets to create
documentation. However, the dependencies over these generated files
are missing, so these must be also included in the run target.
-rw-r--r-- | mesonbuild/modules/gnome.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 434c174..ad99c14 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -777,32 +777,38 @@ This will become a hard error in the future.''') args += self._unpack_args('--mkdbargs=', 'mkdb_args', kwargs) args += self._unpack_args('--html-assets=', 'html_assets', kwargs, state) + depends = [] 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)): + depends.append(s) 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): + depends.append(s) for gen_src in s.get_outputs(): content_files.append(os.path.join(state.environment.get_source_dir(), state.subdir, gen_src)) - else: + elif isinstance(s, str): content_files.append(os.path.join(state.environment.get_source_dir(), state.subdir, s)) + else: + raise MesonException( + 'Invalid object type: {!r}'.format(s.__class__.__name__)) 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) args += self._get_build_args(kwargs, state) - res = [build.RunTarget(targetname, command[0], command[1:] + args, [], state.subdir, state.subproject)] + res = [build.RunTarget(targetname, command[0], command[1:] + args, depends, state.subdir, state.subproject)] if kwargs.get('install', True): res.append(build.RunScript(command, args)) return ModuleReturnValue(None, res) |