diff --git a/cmake/OpenCVDetectCUDA.cmake b/cmake/OpenCVDetectCUDA.cmake index c2179da804..fd08dfd470 100644 --- a/cmake/OpenCVDetectCUDA.cmake +++ b/cmake/OpenCVDetectCUDA.cmake @@ -14,6 +14,10 @@ if(CUDA_TOOLKIT_ROOT_DIR) set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR}) endif() +if(CMAKE_CUDA_HOST_COMPILER AND NOT CUDA_HOST_COMPILER) + set(CUDA_HOST_COMPILER "${CMAKE_CUDA_HOST_COMPILER}" CACHE FILEPATH "Host side compiler used by NVCC") +endif() + if(((NOT CMAKE_VERSION VERSION_LESS "3.9.0") # requires https://gitlab.kitware.com/cmake/cmake/merge_requests/663 OR OPENCV_CUDA_FORCE_EXTERNAL_CMAKE_MODULE) AND NOT OPENCV_CUDA_FORCE_BUILTIN_CMAKE_MODULE) diff --git a/cmake/OpenCVDetectCUDAUtils.cmake b/cmake/OpenCVDetectCUDAUtils.cmake index 8d2c87b443..808f6bb550 100644 --- a/cmake/OpenCVDetectCUDAUtils.cmake +++ b/cmake/OpenCVDetectCUDAUtils.cmake @@ -300,6 +300,9 @@ macro(ocv_set_cuda_arch_bin_and_ptx nvcc_executable) ${_arch_hopper} ${_arch_blackwell} ) + if(NOT __cuda_arch_bin) + message(FATAL_ERROR "CUDA: No compatible CUDA architecture found. Please enable OPENCV_CMAKE_CUDA_DEBUG=1 for investigation.") + endif() list(GET __cuda_arch_bin -1 __cuda_arch_ptx) endif() endif()