aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-06-04 17:40:13 +0100
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-18 10:52:21 +0000
commit7c4b8591b0f556bb58b380c6199fb018481380be (patch)
treec0098702ae06565213690de21483a347613b9e17
parentc0f59399e43bb83de4cf78e80034326ef381d9ac (diff)
downloadmeson-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.py4
-rw-r--r--mesonbuild/modules/windows.py4
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)):