Merge topic 'cuda_runtime_library_controls'

0d0145138f CUDA: Add abstraction for cuda runtime selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4178
This commit is contained in:
Brad King
2020-01-28 15:52:23 +00:00
committed by Kitware Robot
41 changed files with 911 additions and 51 deletions
+1
View File
@@ -173,6 +173,7 @@ Properties on Targets
/prop_tgt/CUDA_PTX_COMPILATION
/prop_tgt/CUDA_SEPARABLE_COMPILATION
/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS
/prop_tgt/CUDA_RUNTIME_LIBRARY
/prop_tgt/CUDA_EXTENSIONS
/prop_tgt/CUDA_STANDARD
/prop_tgt/CUDA_STANDARD_REQUIRED
+1
View File
@@ -373,6 +373,7 @@ Variables that Control the Build
/variable/CMAKE_CTEST_ARGUMENTS
/variable/CMAKE_CUDA_SEPARABLE_COMPILATION
/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
/variable/CMAKE_CUDA_RUNTIME_LIBRARY
/variable/CMAKE_DEBUG_POSTFIX
/variable/CMAKE_DISABLE_PRECOMPILE_HEADERS
/variable/CMAKE_ENABLE_EXPORTS
@@ -0,0 +1,9 @@
``None``
Link with ``-cudart=none`` or equivalent flag(s) to use no CUDA
runtime library.
``Shared``
Link with ``-cudart=shared`` or equivalent flag(s) to use a
dynamically-linked CUDA runtime library.
``Static``
Link with ``-cudart=static`` or equivalent flag(s) to use a
statically-linked CUDA runtime library.
+21
View File
@@ -0,0 +1,21 @@
CUDA_RUNTIME_LIBRARY
--------------------
Select the CUDA runtime library for use by compilers targeting the CUDA language.
The allowed case insensitive values are:
.. include:: CUDA_RUNTIME_LIBRARY-VALUES.txt
Contents of ``CUDA_RUNTIME_LIBRARY`` may use
:manual:`generator expressions <cmake-generator-expressions(7)>`.
If this property is not set then CMake uses the default value
``Static`` to select the CUDA runtime library.
.. note::
This property has effect only when the ``CUDA`` language is enabled. To
control the CUDA runtime linking when only using the CUDA SDK with the
``C`` or ``C++`` language we recommend using the :module:`FindCUDAToolkit`
module.
@@ -0,0 +1,7 @@
cuda-runtime-library
--------------------
* The :variable:`CMAKE_CUDA_RUNTIME_LIBRARY` variable and
:prop_tgt:`CUDA_RUNTIME_LIBRARY` target property were introduced to
select the CUDA runtime library used when linking targets that
use CUDA.
@@ -0,0 +1,24 @@
CMAKE_CUDA_RUNTIME_LIBRARY
--------------------------
Select the CUDA runtime library for use by compilers targeting the MSVC ABI.
This variable is used to initialize the :prop_tgt:`CUDA_RUNTIME_LIBRARY`
property on all targets as they are created.
The allowed case insensitive values are:
.. include:: ../prop_tgt/CUDA_RUNTIME_LIBRARY-VALUES.txt
Contents of ``CMAKE_CUDA_RUNTIME_LIBRARY`` may use
:manual:`generator expressions <cmake-generator-expressions(7)>`.
If this variable is not set then the :prop_tgt:`CUDA_RUNTIME_LIBRARY` target
property will not be set automatically. If that property is not set then
CMake uses the default value ``Static`` to select the CUDA runtime library.
.. note::
This property has effect only when the ``CUDA`` language is enabled. To
control the CUDA runtime linking when only using the CUDA SDK with the
``C`` or ``C++`` language we recommend using the :module:`FindCUDAToolkit`
module.