CMAKE__HOST_COMPILER -------------------------- .. versionadded:: 3.10 ``CMAKE_CUDA_HOST_COMPILER`` .. versionadded:: 3.28 ``CMAKE_HIP_HOST_COMPILER`` This variable is available when ```` is ``CUDA`` or ``HIP``. When :variable:`CMAKE__COMPILER_ID` is ``NVIDIA``, ``CMAKE__HOST_COMPILER`` selects the compiler executable to use when compiling host code for ``CUDA`` or ``HIP`` language files. This maps to the ``nvcc -ccbin`` option. The ``CMAKE__HOST_COMPILER`` variable may be set explicitly before CUDA or HIP is first enabled by a :command:`project` or :command:`enable_language` command. This can be done via ``-DCMAKE__HOST_COMPILER=...`` on the command line or in a :ref:`toolchain file `. Or, one may set the :envvar:`CUDAHOSTCXX` or :envvar:`HIPHOSTCXX` environment variable to provide a default value. Once the CUDA or HIP language is enabled, the ``CMAKE__HOST_COMPILER`` variable is read-only and changes to it are undefined behavior. .. note:: Since ``CMAKE__HOST_COMPILER`` is meaningful only when the :variable:`CMAKE__COMPILER_ID` is ``NVIDIA``, it does not make sense to set ``CMAKE__HOST_COMPILER`` without also setting ``CMAKE__COMPILER`` to NVCC. .. note:: Projects should not try to set ``CMAKE__HOST_COMPILER`` to match :variable:`CMAKE_CXX_COMPILER _COMPILER>` themselves. It is the end-user's responsibility, not the project's, to ensure that NVCC targets the same ABI as the C++ compiler. .. note:: Ignored when using :ref:`Visual Studio Generators`.