David Seifert 2 years ago committed by Eli Schwartz
parent 08e722d44c
commit 9e9fa8f820
  1. 17
      mesonbuild/compilers/cuda.py

@ -22,7 +22,7 @@ from .. import coredata
from .. import mlog
from ..mesonlib import (
EnvironmentException, Popen_safe, OptionOverrideProxy,
is_windows, LibType, OptionKey,
is_windows, LibType, OptionKey, version_compare,
)
from .compilers import (Compiler, cuda_buildtype_args, cuda_optimization_args,
cuda_debug_args)
@ -615,13 +615,26 @@ class CudaCompiler(Compiler):
}}'''
return self.compiles(t.format_map(fargs), env, extra_args=extra_args, dependencies=dependencies)
_CPP14_VERSION = '>=9.0'
_CPP17_VERSION = '>=11.0'
_CPP20_VERSION = '>=12.0'
def get_options(self) -> 'MutableKeyedOptionDictType':
opts = super().get_options()
std_key = OptionKey('std', machine=self.for_machine, lang=self.language)
ccbindir_key = OptionKey('ccbindir', machine=self.for_machine, lang=self.language)
cpp_stds = ['none', 'c++03', 'c++11']
if version_compare(self.version, self._CPP14_VERSION):
cpp_stds += ['c++14']
if version_compare(self.version, self._CPP17_VERSION):
cpp_stds += ['c++17']
if version_compare(self.version, self._CPP20_VERSION):
cpp_stds += ['c++20']
opts.update({
std_key: coredata.UserComboOption('C++ language standard to use with CUDA',
['none', 'c++03', 'c++11', 'c++14', 'c++17'], 'none'),
cpp_stds, 'none'),
ccbindir_key: coredata.UserStringOption('CUDA non-default toolchain directory to use (-ccbin)',
''),
})

Loading…
Cancel
Save