diff --git a/CMakeLists.txt b/CMakeLists.txt index 94365d119e911c0329dfe42f05cb71448e23a87f..0bd94e50722a6b15e10e1ee1f6f7090d303d7387 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,13 +120,16 @@ if(ARB_GPU STREQUAL "cuda") set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) enable_language(CUDA) find_package(CUDAToolkit) - if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) - if(CUDAToolkit_VERSION_MAJOR GREATER 10) - set(CMAKE_CUDA_ARCHITECTURES 60 70 80) - else() - set(CMAKE_CUDA_ARCHITECTURES 60 70) - endif() + if(CUDAToolkit_VERSION_MAJOR GREATER 10) + set(CMAKE_CUDA_ARCHITECTURES 60 70 80) + else() + set(CMAKE_CUDA_ARCHITECTURES 60 70) endif() + # We _still_ need this otherwise CUDA symbols will not be exported + # from libarbor.a leading to linker errors when link external clients. + # Unit tests are NOT external enough. Re-review this somewhere in the + # future. + find_package(CUDA ${CUDAToolkit_VERSION_MAJOR} REQUIRED) elseif(ARB_GPU STREQUAL "cuda-clang") include(FindCUDAToolkit) set(ARB_WITH_CUDA_CLANG TRUE)