CMAKE_<LANG>_HOST_COMPILER¶
3.10 版本新增:CMAKE_CUDA_HOST_COMPILER
3.28 版本新增:CMAKE_HIP_HOST_COMPILER
當 <LANG>
為 CUDA
或 HIP
時,此變數可用。
當 CMAKE_<LANG>_COMPILER_ID
為 NVIDIA
時,CMAKE_<LANG>_HOST_COMPILER
會選取編譯器執行檔,以便在編譯 CUDA
或 HIP
語言檔案時使用。這會對應到 nvcc -ccbin
選項。
CMAKE_<LANG>_HOST_COMPILER
變數可以在首次透過 project()
或 enable_language()
命令啟用 CUDA 或 HIP 之前明確設定。這可以透過命令列上的 -DCMAKE_<LANG>_HOST_COMPILER=...
或在 工具鏈檔案 中完成。或者,可以設定 CUDAHOSTCXX
或 HIPHOSTCXX
環境變數以提供預設值。
一旦啟用 CUDA 或 HIP 語言,CMAKE_<LANG>_HOST_COMPILER
變數即為唯讀,對其進行變更為未定義行為。
注意
由於 CMAKE_<LANG>_HOST_COMPILER
僅在 CMAKE_<LANG>_COMPILER_ID
為 NVIDIA
時才有意義,因此在未同時將 CMAKE_<LANG>_COMPILER
設定為 NVCC 的情況下設定 CMAKE_<LANG>_HOST_COMPILER
是沒有意義的。
注意
專案不應嘗試自行設定 CMAKE_<LANG>_HOST_COMPILER
以符合 CMAKE_CXX_COMPILER
。確保 NVCC 的目標 ABI 與 C++ 編譯器相同是終端使用者的責任,而不是專案的責任。
注意
使用 Visual Studio 產生器 時會被忽略。
請參閱 CMAKE_<LANG>_HOST_COMPILER_ID
和 CMAKE_<LANG>_HOST_COMPILER_VERSION
變數,以取得關於 nvcc
所使用的主機編譯器資訊,無論是預設或由 CMAKE_<LANG>_HOST_COMPILER
指定。