|
|
|
@ -106,7 +106,18 @@ if(CUDA_FOUND) |
|
|
|
|
if(OPENCV_CUDA_DETECTION_NVCC_FLAGS MATCHES "-ccbin") |
|
|
|
|
# already specified by user |
|
|
|
|
elseif(CUDA_HOST_COMPILER AND EXISTS "${CUDA_HOST_COMPILER}") |
|
|
|
|
LIST(APPEND OPENCV_CUDA_DETECTION_NVCC_FLAGS -ccbin "${CUDA_HOST_COMPILER}") |
|
|
|
|
get_filename_component(c_compiler_realpath "${CMAKE_C_COMPILER}" REALPATH) |
|
|
|
|
# C compiler doesn't work with --run option, forcing C++ compiler instead |
|
|
|
|
if(CUDA_HOST_COMPILER STREQUAL c_compiler_realpath OR CUDA_HOST_COMPILER STREQUAL CMAKE_C_COMPILER) |
|
|
|
|
if(DEFINED CMAKE_CXX_COMPILER) |
|
|
|
|
get_filename_component(cxx_compiler_realpath "${CMAKE_CXX_COMPILER}" REALPATH) |
|
|
|
|
LIST(APPEND OPENCV_CUDA_DETECTION_NVCC_FLAGS -ccbin "${cxx_compiler_realpath}") |
|
|
|
|
else() |
|
|
|
|
message(STATUS "CUDA: CMAKE_CXX_COMPILER is not available. You may need to specify CUDA_HOST_COMPILER.") |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
LIST(APPEND OPENCV_CUDA_DETECTION_NVCC_FLAGS -ccbin "${CUDA_HOST_COMPILER}") |
|
|
|
|
endif() |
|
|
|
|
elseif(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 OPENCV_CUDA_DETECTION_NVCC_FLAGS -ccbin "${host_compiler_bindir}") |
|
|
|
|