New in version 3.10.

When CMAKE_CUDA_COMPILER_ID is NVIDIA, CMAKE_CUDA_HOST_COMPILER selects the compiler executable to use when compiling host code for CUDA language files. This maps to the nvcc -ccbin option.

The CMAKE_CUDA_HOST_COMPILER variable may be set explicitly before CUDA is first enabled by a project() or enable_language() command. This can be done via -DCMAKE_CUDA_HOST_COMPILER=... on the command line or in a toolchain file. Or, one may set the CUDAHOSTCXX environment variable to provide a default value.

Once the CUDA language is enabled, the CMAKE_CUDA_HOST_COMPILER variable is read-only and changes to it are undefined behavior.


Since CMAKE_CUDA_HOST_COMPILER is meaningful only when the CMAKE_CUDA_COMPILER_ID is NVIDIA, it does not make sense to set CMAKE_CUDA_HOST_COMPILER without also setting CMAKE_CUDA_COMPILER to NVCC.


Ignored when using Visual Studio Generators.