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:
Robert Maynard
2022-12-09 12:20:02 -05:00
committed by Brad King
parent 6db3519c41
commit 0aeeb8160c
2 changed files with 18 additions and 0 deletions
+12
View File
@@ -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")