mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
CUDA: Add support for cuda_std_20 for nvcc 12.0+
CUDA 12.0 has been released with support for `-std=c++20`.
This commit is contained in:
committed by
Brad King
parent
6db3519c41
commit
0aeeb8160c
@@ -246,3 +246,9 @@ Changes made since CMake 3.25.0 include the following.
|
||||
command no longer accepts ``.a`` file names. This behavior was added
|
||||
in CMake 3.25.0, but has been reverted due finding GNU-ABI libraries
|
||||
in cases we did not previously.
|
||||
|
||||
3.25.2
|
||||
------
|
||||
|
||||
* CUDA language level 20 (corresponding to C++20) is now supported with
|
||||
NVCC 12.0 and above.
|
||||
|
||||
@@ -119,6 +119,13 @@ if("x${CMAKE_CUDA_SIMULATE_ID}" STREQUAL "xMSVC")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 12.0)
|
||||
if(CMAKE_CUDA_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.11.25505)
|
||||
set(CMAKE_CUDA20_STANDARD_COMPILE_OPTION "-std=c++20")
|
||||
set(CMAKE_CUDA20_EXTENSION_COMPILE_OPTION "-std=c++20")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
else()
|
||||
set(CMAKE_CUDA03_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CUDA03_EXTENSION_COMPILE_OPTION "")
|
||||
@@ -138,6 +145,11 @@ else()
|
||||
set(CMAKE_CUDA17_EXTENSION_COMPILE_OPTION "-std=c++17")
|
||||
endif()
|
||||
|
||||
if (NOT CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 12.0)
|
||||
set(CMAKE_CUDA20_STANDARD_COMPILE_OPTION "-std=c++20")
|
||||
set(CMAKE_CUDA20_EXTENSION_COMPILE_OPTION "-std=c++20")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "9.0")
|
||||
|
||||
Reference in New Issue
Block a user