CMAKE_<LANG>_HOST_COMPILER

在版本 3.10 中添加: CMAKE_CUDA_HOST_COMPILER

在版本 3.28 中添加: CMAKE_HIP_HOST_COMPILER

<LANG>CUDAHIP 时,可以使用此变量。

CMAKE_<LANG>_COMPILER_IDNVIDIA 时,CMAKE_<LANG>_HOST_COMPILER 选择用于编译 CUDAHIP 语言文件的主机代码的编译器可执行文件。这映射到 nvcc -ccbin 选项。

可以在 CUDAHIP 语言首先由 project()enable_language() 命令启用之前,明确设置 CMAKE_<LANG>_HOST_COMPILER 变量。这可以通过命令行中的 -DCMAKE_<LANG>_HOST_COMPILER=...工具链文件 中来实现。或者,可以设置 CUDAHOSTCXXHIPHOSTCXX 环境变量来提供一个默认值。

启用 CUDAHIP 语言后,CMAKE_<LANG>_HOST_COMPILER 变量为只读变量并且对其进行的更改是未定义的行为。

注意

由于只有当 CMAKE_<LANG>_COMPILER_IDNVIDIACMAKE_<LANG>_HOST_COMPILER 才具有意义,因此设置 CMAKE_<LANG>_HOST_COMPILER 时,如果没有同时将 CMAKE_<LANG>_COMPILER 设置为 NVCC,则没有意义。

注意

项目本身不应尝试将 CMAKE_<LANG>_HOST_COMPILER 设置为匹配 CMAKE_CXX_COMPILER。确保 NVCC 针对的 ABI 与 C++ 编译器相同是最终用户的责任,而不是项目的责任。

注意

使用 Visual Studio 生成器 时将忽略。

请参阅 CMAKE_<LANG>_HOST_COMPILER_IDCMAKE_<LANG>_HOST_COMPILER_VERSION 变量以了解有关默认情况下或由 CMAKE_<LANG>_HOST_COMPILER

指定的 nvcc 所使用的宿主编译器的信息。