CUDA: Add support for cuda_std_23 for nvcc 13.3+

CUDA 13.3 has been released with support for `-std=c++23`.
This commit is contained in:
Arha Gatram
2026-06-10 15:53:55 +00:00
committed by Brad King
parent a716b664fd
commit d01c9a429b
2 changed files with 20 additions and 0 deletions

View File

@@ -92,6 +92,12 @@ Generators
name, their dependencies are merged into one ``test_prep/<test-name>``
target.
Languages
---------
* CUDA language level 23 (corresponding to C++ 23) is now supported with
NVCC 13.3 and above.
Compilers
---------

View File

@@ -46,6 +46,14 @@ macro(__compiler_nvidia_cxx_standards lang)
set(CMAKE_${lang}_STANDARD_LATEST 20)
endif()
endif()
if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 13.3)
if(CMAKE_${lang}_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.29.30129)
set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23")
set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=c++23")
set(CMAKE_${lang}_STANDARD_LATEST 23)
endif()
endif()
else()
set(CMAKE_${lang}03_STANDARD_COMPILE_OPTION "")
set(CMAKE_${lang}03_EXTENSION_COMPILE_OPTION "")
@@ -75,6 +83,12 @@ macro(__compiler_nvidia_cxx_standards lang)
set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std=c++20")
set(CMAKE_${lang}_STANDARD_LATEST 20)
endif()
if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 13.3)
set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23")
set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=c++23")
set(CMAKE_${lang}_STANDARD_LATEST 23)
endif()
endif()
__compiler_check_default_language_standard(${lang} 6.0 03)