mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
Tests: Fix testing CMAKE_CUDA_ARCHITECTURES=OFF with Clang
Clang does not automatically choose an architecture supported by the SDK. The `OFF` value is meant for users to provide their own architecture flags, so provide one as part of the test.
This commit is contained in:
@@ -4,5 +4,18 @@ run_cmake(architectures-all)
|
||||
run_cmake(architectures-all-major)
|
||||
run_cmake(architectures-empty)
|
||||
run_cmake(architectures-invalid)
|
||||
|
||||
run_cmake(architectures-not-set)
|
||||
include("${RunCMake_BINARY_DIR}/architectures-not-set-build/info.cmake" OPTIONAL)
|
||||
message(STATUS " CMAKE_CUDA_COMPILER_ID='${CMAKE_CUDA_COMPILER_ID}'")
|
||||
message(STATUS " CMAKE_CUDA_COMPILER_VERSION='${CMAKE_CUDA_COMPILER_VERSION}'")
|
||||
message(STATUS " CMAKE_CUDA_ARCHITECTURES='${CMAKE_CUDA_ARCHITECTURES}'")
|
||||
|
||||
if(CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" AND CMAKE_CUDA_ARCHITECTURES)
|
||||
list(GET CMAKE_CUDA_ARCHITECTURES 0 arch)
|
||||
set(CMAKE_CUDA_FLAGS --cuda-gpu-arch=sm_${arch})
|
||||
message(STATUS "Adding CMAKE_CUDA_FLAGS='${CMAKE_CUDA_FLAGS}' for CMAKE_CUDA_ARCHITECTURES=OFF with Clang.")
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CUDA_FLAGS=${CMAKE_CUDA_FLAGS}")
|
||||
endif()
|
||||
run_cmake(architectures-off)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
@@ -1,2 +1,7 @@
|
||||
unset(CMAKE_CUDA_ARCHITECTURES)
|
||||
enable_language(CUDA)
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/info.cmake" "
|
||||
set(CMAKE_CUDA_COMPILER_ID \"${CMAKE_CUDA_COMPILER_ID}\")
|
||||
set(CMAKE_CUDA_COMPILER_VERSION \"${CMAKE_CUDA_COMPILER_VERSION}\")
|
||||
set(CMAKE_CUDA_ARCHITECTURES \"${CMAKE_CUDA_ARCHITECTURES}\")
|
||||
")
|
||||
|
||||
Reference in New Issue
Block a user