diff --git a/Modules/Internal/CMakeCUDAArchitecturesAll.cmake b/Modules/Internal/CMakeCUDAArchitecturesAll.cmake index 5b396eeb2c..2e6fc5a59c 100644 --- a/Modules/Internal/CMakeCUDAArchitecturesAll.cmake +++ b/Modules/Internal/CMakeCUDAArchitecturesAll.cmake @@ -71,15 +71,12 @@ function(cmake_cuda_architectures_all lang lang_var_) endif() endif() - if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.9) - if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA") - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 100 101 103 120 121) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 100 120) - elseif(CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 20.1) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 100 101 120) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 100 120) - endif() - elseif(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.8) + if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.0) + list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37) + list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35) + endif() + + if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.8) if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA" OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 20.1) ) @@ -88,9 +85,10 @@ function(cmake_cuda_architectures_all lang lang_var_) endif() endif() - if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.0) - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37) - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35) + if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.9) + if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA") + list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 103 121) + endif() endif() # only generate jit code for the newest arch for all/all-major