@ -342,6 +342,8 @@ if(CUDA_FOUND)
set ( CUDA_NVCC_FLAGS ${ CUDA_NVCC_FLAGS } --use_fast_math )
set ( CUDA_NVCC_FLAGS ${ CUDA_NVCC_FLAGS } --use_fast_math )
endif ( )
endif ( )
OCV_OPTION ( CUDA_ENABLE_DELAYLOAD "Enable delayed loading of CUDA DLLs" OFF VISIBLE_IF MSVC AND ( CMAKE_GENERATOR MATCHES "Visual Studio" ) )
mark_as_advanced ( CUDA_BUILD_CUBIN CUDA_BUILD_EMULATION CUDA_VERBOSE_BUILD CUDA_SDK_ROOT_DIR )
mark_as_advanced ( CUDA_BUILD_CUBIN CUDA_BUILD_EMULATION CUDA_VERBOSE_BUILD CUDA_SDK_ROOT_DIR )
macro ( ocv_cuda_filter_options )
macro ( ocv_cuda_filter_options )
@ -537,4 +539,15 @@ if(HAVE_CUDA)
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ CMAKE_LIBRARY_PATH_FLAG } ${ p } )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ CMAKE_LIBRARY_PATH_FLAG } ${ p } )
endif ( )
endif ( )
endforeach ( )
endforeach ( )
if ( MSVC AND CUDA_ENABLE_DELAYLOAD )
file ( GLOB CUDA_DLLS "${CUDA_TOOLKIT_ROOT_DIR}/bin/*.dll" )
foreach ( d ${ CUDA_DLLS } )
cmake_path ( GET "d" FILENAME DLL_NAME )
if ( NOT ${ DLL_NAME } MATCHES "cudart" )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DELAYLOAD:${DLL_NAME}" )
endif ( )
endforeach ( )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /IGNORE:4199" )
endif ( )
endif ( )
endif ( )