diff options
author | Thibault Saunier <tsaunier@igalia.com> | 2018-09-13 12:38:31 -0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-09-23 11:24:15 +0300 |
commit | 87370e1c934b92cc432a5e70d69080b113a90e0e (patch) | |
tree | 5d21a9eb52400f4463e926349da74554dfb3c5dc /mesonbuild/modules/hotdoc.py | |
parent | cf58f56e1619bbd012c9cc68e81916148530b57e (diff) | |
download | meson-87370e1c934b92cc432a5e70d69080b113a90e0e.zip meson-87370e1c934b92cc432a5e70d69080b113a90e0e.tar.gz meson-87370e1c934b92cc432a5e70d69080b113a90e0e.tar.bz2 |
hotdoc: Add support for {Build,Custom}Target as sources
Diffstat (limited to 'mesonbuild/modules/hotdoc.py')
-rw-r--r-- | mesonbuild/modules/hotdoc.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py index e621938..1080160 100644 --- a/mesonbuild/modules/hotdoc.py +++ b/mesonbuild/modules/hotdoc.py @@ -38,12 +38,13 @@ MIN_HOTDOC_VERSION = '0.8.100' class HotdocTargetBuilder: - def __init__(self, name, state, hotdoc, kwargs): + def __init__(self, name, state, hotdoc, interpreter, kwargs): self.hotdoc = hotdoc self.build_by_default = kwargs.pop('build_by_default', False) self.kwargs = kwargs self.name = name self.state = state + self.interpreter = interpreter self.include_paths = OrderedDict() self.builddir = state.environment.get_build_dir() @@ -93,7 +94,7 @@ class HotdocTargetBuilder: self.check_extra_arg_type(arg, v) return - valid_types = (str, bool, mesonlib.File, build.IncludeDirs) + valid_types = (str, bool, mesonlib.File, build.IncludeDirs, build.CustomTarget, build.BuildTarget) if not isinstance(value, valid_types): raise InvalidArguments('Argument "%s=%s" should be of type: %s.' % ( arg, value, [t.__name__ for t in valid_types])) @@ -211,6 +212,9 @@ class HotdocTargetBuilder: cmd.append(os.path.join(self.builddir, arg.get_curdir(), inc_dir)) continue + elif isinstance(arg, build.CustomTarget) or isinstance(arg, build.BuildTarget): + self._dependencies.append(arg) + arg = self.interpreter.backend.get_target_filename_abs(arg) cmd.append(arg) @@ -384,7 +388,7 @@ class HotDocModule(ExtensionModule): ' required for the project name.') project_name = args[0] - builder = HotdocTargetBuilder(project_name, state, self.hotdoc, kwargs) + builder = HotdocTargetBuilder(project_name, state, self.hotdoc, self.interpreter, kwargs) target, install_script = builder.make_targets() targets = [HotdocTargetHolder(target, self.interpreter)] if install_script: |