From c6638d62e6801572d4a48abbf32287f9c5171a15 Mon Sep 17 00:00:00 2001 From: cyy Date: Thu, 11 Jun 2020 15:34:31 +0800 Subject: [PATCH] respect CUDA_HOST_COMPILER when detecting CUDA arch --- cmake/OpenCVDetectCUDA.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/cmake/OpenCVDetectCUDA.cmake b/cmake/OpenCVDetectCUDA.cmake index 20d0750540..b8aea2138a 100644 --- a/cmake/OpenCVDetectCUDA.cmake +++ b/cmake/OpenCVDetectCUDA.cmake @@ -86,12 +86,17 @@ if(CUDA_FOUND) unset(CUDA_ARCH_PTX CACHE) endif() - SET(DETECT_ARCHS_COMMAND "${CUDA_NVCC_EXECUTABLE}" ${CUDA_NVCC_FLAGS} "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run") - if(WIN32 AND CMAKE_LINKER) #Workaround for VS cl.exe not being in the env. path - get_filename_component(host_compiler_bindir ${CMAKE_LINKER} DIRECTORY) - SET(DETECT_ARCHS_COMMAND ${DETECT_ARCHS_COMMAND} "-ccbin" "${host_compiler_bindir}") + if(CUDA_HOST_COMPILER) + LIST(APPEND CUDA_NVCC_FLAGS -ccbin ${CUDA_HOST_COMPILER}) + else() + if(WIN32 AND CMAKE_LINKER) #Workaround for VS cl.exe not being in the env. path + get_filename_component(host_compiler_bindir ${CMAKE_LINKER} DIRECTORY) + LIST(APPEND CUDA_NVCC_FLAGS -ccbin ${host_compiler_bindir}) + endif() endif() + SET(DETECT_ARCHS_COMMAND "${CUDA_NVCC_EXECUTABLE}" ${CUDA_NVCC_FLAGS} "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run") + macro(ocv_filter_available_architecture result_list) if(DEFINED CUDA_SUPPORTED_CC) set(${result_list} "${CUDA_SUPPORTED_CC}")