summaryrefslogtreecommitdiffstats
path: root/Tests/CudaOnly
diff options
context:
space:
mode:
authorRafael Stahl <dummdoof-doof@web.de>2023-05-26 07:23:15 (GMT)
committerBrad King <brad.king@kitware.com>2023-05-31 15:44:10 (GMT)
commit45584508fa26a20981e2b3db08a11cc797f78727 (patch)
tree100f381c2b35f2166bb664f678d81fab8b6d0fd2 /Tests/CudaOnly
parenta645a80040d35162ba34ddec39b1b90b2466b72f (diff)
downloadCMake-45584508fa26a20981e2b3db08a11cc797f78727.zip
CMake-45584508fa26a20981e2b3db08a11cc797f78727.tar.gz
CMake-45584508fa26a20981e2b3db08a11cc797f78727.tar.bz2
CUDA/NVIDIA: fix LTO with explicit architectures
Diffstat (limited to 'Tests/CudaOnly')
-rw-r--r--Tests/CudaOnly/DeviceLTO/CMakeLists.txt11
1 files changed, 9 insertions, 2 deletions
diff --git a/Tests/CudaOnly/DeviceLTO/CMakeLists.txt b/Tests/CudaOnly/DeviceLTO/CMakeLists.txt
index 653b35d..5653bdf 100644
--- a/Tests/CudaOnly/DeviceLTO/CMakeLists.txt
+++ b/Tests/CudaOnly/DeviceLTO/CMakeLists.txt
@@ -9,16 +9,23 @@ project(DeviceLTO CUDA)
add_library(CUDA_dlto STATIC file1.cu file2.cu file3.cu)
add_executable(CudaOnlyDeviceLTO main.cu)
+set(archs_to_test "${CMAKE_CUDA_ARCHITECTURES_ALL}")
+if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
+ # Also test with at least one virtual architecture.
+ list(POP_BACK CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR latest_arch)
+ list(APPEND archs_to_test ${latest_arch}-virtual)
+endif()
+
set_target_properties(CUDA_dlto
PROPERTIES
- CUDA_ARCHITECTURES "${CMAKE_CUDA_ARCHITECTURES_ALL}"
+ CUDA_ARCHITECTURES "${archs_to_test}"
CUDA_SEPARABLE_COMPILATION ON
POSITION_INDEPENDENT_CODE ON)
set_target_properties(CudaOnlyDeviceLTO
PROPERTIES
CUDA_SEPARABLE_COMPILATION ON
- CUDA_ARCHITECTURES "${CMAKE_CUDA_ARCHITECTURES_ALL}"
+ CUDA_ARCHITECTURES "${archs_to_test}"
)
target_link_libraries(CudaOnlyDeviceLTO PRIVATE CUDA_dlto)