mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Merge topic 'cuda_architectures_disable'
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
This commit is contained in:
@@ -23,9 +23,34 @@ The ``NEW`` behavior of this policy is to initialize
|
||||
:variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` is ``NVIDIA``
|
||||
and raise an error if :prop_tgt:`CUDA_ARCHITECTURES` is empty during generation.
|
||||
|
||||
If :prop_tgt:`CUDA_ARCHITECTURES` is set to a false value no architectures
|
||||
flags are passed to the compiler. This is intended to support packagers and
|
||||
the rare cases where full control over the passed flags is required.
|
||||
|
||||
This policy was introduced in CMake version 3.18. CMake version
|
||||
|release| warns when the policy is not set and uses ``OLD`` behavior.
|
||||
Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
|
||||
explicitly.
|
||||
|
||||
.. include:: DEPRECATED.txt
|
||||
|
||||
Examples
|
||||
^^^^^^^^
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES 35 50 72)
|
||||
|
||||
Generates code for real and virtual architectures ``30``, ``50`` and ``72``.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES 70-real 72-virtual)
|
||||
|
||||
Generates code for real architecture ``70`` and virtual architecture ``72``.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES OFF)
|
||||
|
||||
CMake will not pass any architecture flags to the compiler.
|
||||
|
||||
@@ -8,6 +8,10 @@ the kind of architecture to generate code for.
|
||||
If no suffix is given then code is generated for both real and virtual
|
||||
architectures.
|
||||
|
||||
A non-empty false value (e.g. ``OFF``) disables adding architectures.
|
||||
This is intended to support packagers and rare cases where full control
|
||||
over the passed flags is required.
|
||||
|
||||
This property is initialized by the value of the :variable:`CMAKE_CUDA_ARCHITECTURES`
|
||||
variable if it is set when a target is created.
|
||||
|
||||
@@ -28,3 +32,9 @@ Generates code for real and virtual architectures ``30``, ``50`` and ``72``.
|
||||
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES 70-real 72-virtual)
|
||||
|
||||
Generates code for real architecture ``70`` and virtual architecture ``72``.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES OFF)
|
||||
|
||||
CMake will not pass any architecture flags to the compiler.
|
||||
|
||||
Reference in New Issue
Block a user