summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-03-10 14:07:58 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-03-10 14:08:04 (GMT)
commited663af8a222957b2e7121c9a684bf030514f269 (patch)
tree299104508c37df1f67bf111d694e73dc480bf9d9 /Tests/RunCMake
parentc31f7de574bd7f18262e90d4eebbe2aa9efd0a28 (diff)
parent7024596a261f6ea8fc3a9735ac09fa92f19f4594 (diff)
downloadCMake-ed663af8a222957b2e7121c9a684bf030514f269.zip
CMake-ed663af8a222957b2e7121c9a684bf030514f269.tar.gz
CMake-ed663af8a222957b2e7121c9a684bf030514f269.tar.bz2
Merge topic 'cuda-arch-off' into release-3.23
7024596a26 Tests: Fix testing CMAKE_CUDA_ARCHITECTURES=OFF with Clang 2a79b647fa CUDA: Restore support for CMAKE_CUDA_ARCHITECTURES=OFF Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7058
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/CUDA_architectures/RunCMakeTest.cmake15
-rw-r--r--Tests/RunCMake/CUDA_architectures/architectures-not-set.cmake7
-rw-r--r--Tests/RunCMake/CUDA_architectures/architectures-off.cmake2
3 files changed, 24 insertions, 0 deletions
diff --git a/Tests/RunCMake/CUDA_architectures/RunCMakeTest.cmake b/Tests/RunCMake/CUDA_architectures/RunCMakeTest.cmake
index d16156e..6fecae7 100644
--- a/Tests/RunCMake/CUDA_architectures/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CUDA_architectures/RunCMakeTest.cmake
@@ -4,3 +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)
diff --git a/Tests/RunCMake/CUDA_architectures/architectures-not-set.cmake b/Tests/RunCMake/CUDA_architectures/architectures-not-set.cmake
new file mode 100644
index 0000000..1be5491
--- /dev/null
+++ b/Tests/RunCMake/CUDA_architectures/architectures-not-set.cmake
@@ -0,0 +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}\")
+")
diff --git a/Tests/RunCMake/CUDA_architectures/architectures-off.cmake b/Tests/RunCMake/CUDA_architectures/architectures-off.cmake
new file mode 100644
index 0000000..99881d3
--- /dev/null
+++ b/Tests/RunCMake/CUDA_architectures/architectures-off.cmake
@@ -0,0 +1,2 @@
+set(CMAKE_CUDA_ARCHITECTURES OFF)
+enable_language(CUDA)