mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-22 14:23:10 -05:00
e98588aaba
Simplifies CUDA target architecture handling. Required for Clang support as Clang doesn't automatically select a supported architecture. We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it. Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC. Implements #17963.
31 lines
964 B
ReStructuredText
31 lines
964 B
ReStructuredText
CUDA_ARCHITECTURES
|
|
------------------
|
|
|
|
List of architectures to generate device code for.
|
|
|
|
An architecture can be suffixed by either ``-real`` or ``-virtual`` to specify
|
|
the kind of architecture to generate code for.
|
|
If no suffix is given then code is generated for both real and virtual
|
|
architectures.
|
|
|
|
This property is initialized by the value of the :variable:`CMAKE_CUDA_ARCHITECTURES`
|
|
variable if it is set when a target is created.
|
|
|
|
The ``CUDA_ARCHITECTURES`` target property must be set to a non-empty value on targets
|
|
that compile CUDA sources, or it is an error. See policy :policy:`CMP0104`.
|
|
|
|
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``.
|