summaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/cuda.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/dependencies/cuda.py')
-rw-r--r--mesonbuild/dependencies/cuda.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/mesonbuild/dependencies/cuda.py b/mesonbuild/dependencies/cuda.py
index d80c62d8d..b3401ee03 100644
--- a/mesonbuild/dependencies/cuda.py
+++ b/mesonbuild/dependencies/cuda.py
@@ -28,16 +28,17 @@ class CudaDependency(SystemDependency):
supported_languages = ['cpp', 'c', 'cuda'] # see also _default_language
targets_dir = 'targets' # Directory containing CUDA targets.
- def __init__(self, environment: 'Environment', kwargs: DependencyObjectKWs) -> None:
- for_machine = kwargs.get('native', mesonlib.MachineChoice.HOST)
+ def __init__(self, name: str, environment: 'Environment', kwargs: DependencyObjectKWs) -> None:
+ for_machine = kwargs['native']
compilers = environment.coredata.compilers[for_machine]
machine = environment.machines[for_machine]
- language = self._detect_language(compilers)
+ if not kwargs.get('language'):
+ kwargs['language'] = self._detect_language(compilers)
- if language not in self.supported_languages:
- raise DependencyException(f'Language \'{language}\' is not supported by the CUDA Toolkit. Supported languages are {self.supported_languages}.')
+ if kwargs['language'] not in self.supported_languages:
+ raise DependencyException(f'Language \'{kwargs["language"]}\' is not supported by the CUDA Toolkit. Supported languages are {self.supported_languages}.')
- super().__init__('cuda', environment, kwargs, language=language)
+ super().__init__(name, environment, kwargs)
self.lib_modules: T.Dict[str, T.List[str]] = {}
self.requested_modules = kwargs.get('modules', [])
if not any(runtime in self.requested_modules for runtime in ['cudart', 'cudart_static']):