diff options
author | Rafael Stahl <dummdoof-doof@web.de> | 2023-05-26 07:23:15 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-05-31 15:44:10 (GMT) |
commit | 45584508fa26a20981e2b3db08a11cc797f78727 (patch) | |
tree | 100f381c2b35f2166bb664f678d81fab8b6d0fd2 /Tests/CudaOnly | |
parent | a645a80040d35162ba34ddec39b1b90b2466b72f (diff) | |
download | CMake-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.txt | 11 |
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) |