aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/dev.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-03-31 12:57:50 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-05-03 01:39:16 +0200
commit55379b7d0fcaaa3d8289710c8bbd501aebbbf9e2 (patch)
treed019e4d6a65b079e6422d22f1daaa7599c1ecfc2 /mesonbuild/dependencies/dev.py
parenta9930fe066b4fd7b36478e3962bb0ccdb6ed5241 (diff)
downloadmeson-55379b7d0fcaaa3d8289710c8bbd501aebbbf9e2.zip
meson-55379b7d0fcaaa3d8289710c8bbd501aebbbf9e2.tar.gz
meson-55379b7d0fcaaa3d8289710c8bbd501aebbbf9e2.tar.bz2
CMake: optional modules support
Diffstat (limited to 'mesonbuild/dependencies/dev.py')
-rw-r--r--mesonbuild/dependencies/dev.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index 74e1412..8f0c2c5 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -401,7 +401,8 @@ class LLVMDependencyConfigTool(ConfigToolDependency):
class LLVMDependencyCMake(CMakeDependency):
def __init__(self, env, kwargs):
- self.llvm_modules = kwargs.get('modules', [])
+ self.llvm_modules = stringlistify(extract_as_list(kwargs, 'modules'))
+ self.llvm_opt_modules = stringlistify(extract_as_list(kwargs, 'optional_modules'))
super().__init__(name='LLVM', environment=env, language='cpp', kwargs=kwargs)
# Extract extra include directories and definitions
@@ -415,10 +416,13 @@ class LLVMDependencyCMake(CMakeDependency):
return 'CMakeListsLLVM.txt'
def _extra_cmake_opts(self):
- return ['-DLLVM_MESON_MODULES={}'.format(';'.join(self.llvm_modules))]
+ return ['-DLLVM_MESON_MODULES={}'.format(';'.join(self.llvm_modules)),
+ '-DLLVM_MESON_OPT_MODULES={}'.format(';'.join(self.llvm_opt_modules))]
def _map_module_list(self, modules):
- return self.get_cmake_var('MESON_RESOLVED_LLVM_MODULES')
+ modules = [(x, True) for x in self.get_cmake_var('MESON_RESOLVED_LLVM_MODULES')]
+ modules += [(x, False) for x in self.get_cmake_var('MESON_RESOLVED_LLVM_MODULES_OPT')]
+ return modules
def need_threads(self):
return True