# CMAKE_CUDA_HOST_COMPILER

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.

Note

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.