diff options
author | Brad King <brad.king@kitware.com> | 2023-09-26 13:40:18 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-09-26 13:40:25 (GMT) |
commit | 5d32320bf33bc874d0f0e0c651235fe6472c8013 (patch) | |
tree | 92b397f5d36a1ea9998ac125eac7c5de5487766b /Help/variable | |
parent | ccd53590033a32f02319ec09d2cf5e8c11c7e62c (diff) | |
parent | fd982eec10840eabcccc1920c7c32eb0a13d65a9 (diff) | |
download | CMake-5d32320bf33bc874d0f0e0c651235fe6472c8013.zip CMake-5d32320bf33bc874d0f0e0c651235fe6472c8013.tar.gz CMake-5d32320bf33bc874d0f0e0c651235fe6472c8013.tar.bz2 |
Merge topic 'hip-nvidia'
fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES
8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC
b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC
e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators
4794505122 HIP: Do not require hip-lang package for NVIDIA platform
09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs
2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler
8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8836
Diffstat (limited to 'Help/variable')
-rw-r--r-- | Help/variable/CMAKE_CUDA_HOST_COMPILER.rst | 34 | ||||
-rw-r--r-- | Help/variable/CMAKE_LANG_HOST_COMPILER.rst | 44 |
2 files changed, 47 insertions, 31 deletions
diff --git a/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst b/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst index 6e2d756..498e2e5 100644 --- a/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst +++ b/Help/variable/CMAKE_CUDA_HOST_COMPILER.rst @@ -3,34 +3,6 @@ CMAKE_CUDA_HOST_COMPILER .. versionadded:: 3.10 -When :variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_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 :command:`project` or :command:`enable_language` command. -This can be done via ``-DCMAKE_CUDA_HOST_COMPILER=...`` on the command line -or in a :ref:`toolchain file <Cross Compiling Toolchain>`. Or, one may set -the :envvar:`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 - :variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` is ``NVIDIA``, - it does not make sense to set ``CMAKE_CUDA_HOST_COMPILER`` without also - setting ``CMAKE_CUDA_COMPILER`` to NVCC. - -.. note:: - - Projects should not try to set ``CMAKE_CUDA_HOST_COMPILER`` to match - :variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>` themselves. - It is the end-user's responsibility, not the project's, to ensure that - the C++ and CUDA compilers target the same ABI. - -.. note:: - - Ignored when using :ref:`Visual Studio Generators`. +This is the original CUDA-specific name for the more general +:variable:`CMAKE_<LANG>_HOST_COMPILER` variable. See the latter +for details. diff --git a/Help/variable/CMAKE_LANG_HOST_COMPILER.rst b/Help/variable/CMAKE_LANG_HOST_COMPILER.rst new file mode 100644 index 0000000..cf3ba62 --- /dev/null +++ b/Help/variable/CMAKE_LANG_HOST_COMPILER.rst @@ -0,0 +1,44 @@ +CMAKE_<LANG>_HOST_COMPILER +-------------------------- + +.. versionadded:: 3.10 + ``CMAKE_CUDA_HOST_COMPILER`` + +.. versionadded:: 3.28 + ``CMAKE_HIP_HOST_COMPILER`` + +This variable is available when ``<LANG>`` is ``CUDA`` or ``HIP``. + +When :variable:`CMAKE_<LANG>_COMPILER_ID` is +``NVIDIA``, ``CMAKE_<LANG>_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_<LANG>_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_<LANG>_HOST_COMPILER=...`` on the command line +or in a :ref:`toolchain file <Cross Compiling Toolchain>`. 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_<LANG>_HOST_COMPILER`` +variable is read-only and changes to it are undefined behavior. + +.. note:: + + Since ``CMAKE_<LANG>_HOST_COMPILER`` is meaningful only when the + :variable:`CMAKE_<LANG>_COMPILER_ID` is ``NVIDIA``, + it does not make sense to set ``CMAKE_<LANG>_HOST_COMPILER`` without also + setting ``CMAKE_<LANG>_COMPILER`` to NVCC. + +.. note:: + + Projects should not try to set ``CMAKE_<LANG>_HOST_COMPILER`` to match + :variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_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`. |