mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-26 00:00:39 -05:00
committed by
Brad King
parent
1aa51fb9e3
commit
2a79b647fa
@@ -289,7 +289,7 @@ if(NOT CMAKE_CUDA_COMPILER_ID_RUN)
|
|||||||
set(architectures_test ${CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR})
|
set(architectures_test ${CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
else()
|
elseif(CMAKE_CUDA_ARCHITECTURES OR "${CMAKE_CUDA_ARCHITECTURES}" STREQUAL "")
|
||||||
# Explicit architectures. Test them during detection.
|
# Explicit architectures. Test them during detection.
|
||||||
set(architectures_explicit TRUE)
|
set(architectures_explicit TRUE)
|
||||||
set(architectures_test ${CMAKE_CUDA_ARCHITECTURES})
|
set(architectures_test ${CMAKE_CUDA_ARCHITECTURES})
|
||||||
@@ -633,7 +633,7 @@ if("${CMAKE_CUDA_ARCHITECTURES}" STREQUAL "")
|
|||||||
message(FATAL_ERROR "Failed to detect a default CUDA architecture.\n\nCompiler output:\n${CMAKE_CUDA_COMPILER_PRODUCED_OUTPUT}")
|
message(FATAL_ERROR "Failed to detect a default CUDA architecture.\n\nCompiler output:\n${CMAKE_CUDA_COMPILER_PRODUCED_OUTPUT}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
elseif(NOT "${architectures_tested}" MATCHES "^(all|all-major)$")
|
elseif(CMAKE_CUDA_ARCHITECTURES AND NOT "${architectures_tested}" MATCHES "^(all|all-major)$")
|
||||||
# Sort since order mustn't matter.
|
# Sort since order mustn't matter.
|
||||||
list(SORT architectures_detected)
|
list(SORT architectures_detected)
|
||||||
list(SORT architectures_tested)
|
list(SORT architectures_tested)
|
||||||
|
|||||||
@@ -495,7 +495,7 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
|
|||||||
if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
|
if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
|
||||||
set(cuda_target "<TargetMachinePlatform>64</TargetMachinePlatform>")
|
set(cuda_target "<TargetMachinePlatform>64</TargetMachinePlatform>")
|
||||||
endif()
|
endif()
|
||||||
if(NOT CMAKE_CUDA_ARCHITECTURES MATCHES "^(all|all-major)$")
|
if(CMAKE_CUDA_ARCHITECTURES AND NOT CMAKE_CUDA_ARCHITECTURES MATCHES "^(all|all-major)$")
|
||||||
foreach(arch ${CMAKE_CUDA_ARCHITECTURES})
|
foreach(arch ${CMAKE_CUDA_ARCHITECTURES})
|
||||||
string(REGEX MATCH "[0-9]+" arch_name "${arch}")
|
string(REGEX MATCH "[0-9]+" arch_name "${arch}")
|
||||||
string(APPEND cuda_codegen "compute_${arch_name},sm_${arch_name};")
|
string(APPEND cuda_codegen "compute_${arch_name},sm_${arch_name};")
|
||||||
|
|||||||
@@ -4,3 +4,5 @@ run_cmake(architectures-all)
|
|||||||
run_cmake(architectures-all-major)
|
run_cmake(architectures-all-major)
|
||||||
run_cmake(architectures-empty)
|
run_cmake(architectures-empty)
|
||||||
run_cmake(architectures-invalid)
|
run_cmake(architectures-invalid)
|
||||||
|
run_cmake(architectures-not-set)
|
||||||
|
run_cmake(architectures-off)
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
unset(CMAKE_CUDA_ARCHITECTURES)
|
||||||
|
enable_language(CUDA)
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
set(CMAKE_CUDA_ARCHITECTURES OFF)
|
||||||
|
enable_language(CUDA)
|
||||||
Reference in New Issue
Block a user