diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2018-06-04 17:40:13 +0100 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-06-18 10:52:21 +0000 |
commit | 7c4b8591b0f556bb58b380c6199fb018481380be (patch) | |
tree | c0098702ae06565213690de21483a347613b9e17 | |
parent | c0f59399e43bb83de4cf78e80034326ef381d9ac (diff) | |
download | meson-7c4b8591b0f556bb58b380c6199fb018481380be.zip meson-7c4b8591b0f556bb58b380c6199fb018481380be.tar.gz meson-7c4b8591b0f556bb58b380c6199fb018481380be.tar.bz2 |
Make depends: of windows.compile_resources() include-able
Add the output directories for any custom target in depends: to the resource
compiler include path
-rw-r--r-- | mesonbuild/interpreter.py | 4 | ||||
-rw-r--r-- | mesonbuild/modules/windows.py | 4 |
2 files changed, 8 insertions, 0 deletions
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)): |