aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 400b9e5..c5fc7f6 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -355,6 +355,7 @@ class BuildTarget(Target):
self.extra_args = {}
self.generated = []
self.extra_files = []
+ self.d_features = {}
# Sources can be:
# 1. Pre-existing source files in the source tree
# 2. Pre-existing sources generated by configure_file in the build tree
@@ -682,12 +683,15 @@ just like those detected with the dependency() function.''')
dfeature_versions = kwargs.get('d_module_versions', None)
if dfeature_versions:
dfeatures['versions'] = dfeature_versions
- dfeature_import_dirs = kwargs.get('d_import_dirs', None)
- if dfeature_import_dirs:
+ if 'd_import_dirs' in kwargs:
+ dfeature_import_dirs = extract_as_list(kwargs, 'd_import_dirs', unholder=True)
+ for d in dfeature_import_dirs:
+ if not isinstance(d, IncludeDirs):
+ raise InvalidArguments('Arguments to d_import_dirs must be include_directories.')
dfeatures['import_dirs'] = dfeature_import_dirs
if dfeatures:
if 'd' in self.compilers:
- self.add_compiler_args('d', self.compilers['d'].get_feature_args(dfeatures))
+ self.d_features = dfeatures
self.link_args = extract_as_list(kwargs, 'link_args')
for i in self.link_args: