Skip to content

Commit faa36eb

Browse files
committed
If no CUDA compiler is found, but the CUDAToolkit is available, use the
toolkit's compiler.
1 parent 406ec1b commit faa36eb

1 file changed

Lines changed: 27 additions & 17 deletions

File tree

cmake/CoviseHelperMacros.cmake

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,31 +1149,41 @@ MACRO(COVISE_USE_OPENMP target)
11491149
ENDMACRO(COVISE_USE_OPENMP)
11501150

11511151
MACRO(COVISE_FIND_CUDA)
1152-
IF(COVISE_USE_CUDA)
1153-
include(CheckLanguage)
1154-
check_language(CUDA)
1155-
covise_find_package(CUDAToolkit)
1156-
ENDIF(COVISE_USE_CUDA)
1157-
IF((CMAKE_CUDA_COMPILER OR CUDAToolkit_NVCC_EXECUTABLE) AND CUDAToolkit_FOUND AND COVISE_USE_CUDA)
1152+
IF(COVISE_USE_CUDA)
1153+
include(CheckLanguage)
1154+
check_language(CUDA)
1155+
1156+
covise_find_package(CUDAToolkit)
1157+
if(CUDAToolkit_FOUND)
1158+
if(CUDAToolkit_NVCC_EXECUTABLE AND NOT CMAKE_CUDA_COMPILER)
1159+
set(CMAKE_CUDA_COMPILER
1160+
${CUDAToolkit_NVCC_EXECUTABLE}
1161+
CACHE FILEPATH "CUDA compiler" FORCE)
1162+
endif()
1163+
1164+
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
1165+
if(CUDAToolkit_VERSION_MAJOR GREATER 12)
1166+
set(CMAKE_CUDA_ARCHITECTURES 75)
1167+
else()
1168+
set(CMAKE_CUDA_ARCHITECTURES 60)
1169+
endif()
1170+
endif()
1171+
endif()
1172+
1173+
if(CMAKE_CUDA_COMPILER)
11581174
enable_language(CUDA)
11591175
ADD_DEFINITIONS(-DHAVE_CUDA)
11601176
set(CUDA_FOUND TRUE)
11611177
set(CUDA_PROPAGATE_HOST_FLAGS ON)
11621178
if(NOT WIN32)
1163-
if ((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
1164-
set(CUDA_NVCC_FLAGS "-g ${CUDA_NVCC_FLAGS}")
1165-
endif()
1179+
if ((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
1180+
set(CUDA_NVCC_FLAGS "-g ${CUDA_NVCC_FLAGS}")
1181+
endif()
11661182
endif()
11671183
covise_find_package(CCCL CONFIG)
1168-
ENDIF()
1184+
endif()
11691185

1170-
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
1171-
if(CUDAToolkit_VERSION_MAJOR GREATER 12)
1172-
set(CMAKE_CUDA_ARCHITECTURES 75)
1173-
else()
1174-
set(CMAKE_CUDA_ARCHITECTURES 60)
1175-
endif()
1176-
endif()
1186+
ENDIF(COVISE_USE_CUDA)
11771187
ENDMACRO(COVISE_FIND_CUDA)
11781188

11791189
MACRO(COVISE_FIND_BOOST)

0 commit comments

Comments
 (0)