From 7c4b8591b0f556bb58b380c6199fb018481380be Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Mon, 4 Jun 2018 17:40:13 +0100 Subject: Make depends: of windows.compile_resources() include-able Add the output directories for any custom target in depends: to the resource compiler include path --- mesonbuild/interpreter.py | 4 ++++ mesonbuild/modules/windows.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index d68c47d..3072b8b 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -854,6 +854,10 @@ class CustomTargetHolder(TargetHolder): def __delitem__(self, index): raise InterpreterException('Cannot delete a member of a CustomTarget') + def outdir_include(self): + return IncludeDirsHolder(build.IncludeDirs('', [], False, + [self.interpreter.backend.get_target_dir(self.held_object)])) + class RunTargetHolder(InterpreterObject, ObjectHolder): def __init__(self, name, command, args, dependencies, subdir, subproject): InterpreterObject.__init__(self) diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py index 8a1fade..44a9ebb 100644 --- a/mesonbuild/modules/windows.py +++ b/mesonbuild/modules/windows.py @@ -20,6 +20,7 @@ from ..mesonlib import MesonException, extract_as_list from . import get_include_args from . import ModuleReturnValue from . import ExtensionModule +from ..interpreter import CustomTargetHolder from ..interpreterbase import permittedKwargs, FeatureNewKwargs class WindowsModule(ExtensionModule): @@ -38,6 +39,9 @@ class WindowsModule(ExtensionModule): extra_args = mesonlib.stringlistify(kwargs.get('args', [])) wrc_depend_files = extract_as_list(kwargs, 'depend_files', pop = True) wrc_depends = extract_as_list(kwargs, 'depends', pop = True) + for d in wrc_depends: + if isinstance(d, CustomTargetHolder): + extra_args += get_include_args([d.outdir_include()]) inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True) for incd in inc_dirs: if not isinstance(incd.held_object, (str, build.IncludeDirs)): -- cgit v1.1