message: Bugfix: Detect CUDA archs for Windows
diff: @@ -70,6 +70,12 @@ 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}")
  + endif()
  +
  set(__cuda_arch_ptx "")
  if(CUDA_GENERATION STREQUAL "Fermi")
  set(__cuda_arch_bin "2.0")
  @@ -82,10 +88,11 @@ if(CUDA_FOUND)
  elseif(CUDA_GENERATION STREQUAL "Volta")
  set(__cuda_arch_bin "7.0")
  elseif(CUDA_GENERATION STREQUAL "Auto")
  - execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" ${CUDA_NVCC_FLAGS} "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run"
  + execute_process( COMMAND ${DETECT_ARCHS_COMMAND}
  WORKING_DIRECTORY "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/"
  RESULT_VARIABLE _nvcc_res OUTPUT_VARIABLE _nvcc_out
  ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
  + string(REGEX REPLACE ".*\n" "" _nvcc_out "${_nvcc_out}") #Strip leading warning messages, if any
  if(NOT _nvcc_res EQUAL 0)
  message(STATUS "Automatic detection of CUDA generation failed. Going to build for all known architectures.")
  else()
  @@ -99,10 +106,11 @@ if(CUDA_FOUND)
  set(__cuda_arch_bin "3.2")
  set(__cuda_arch_ptx "")
  elseif(AARCH64)
  - execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" ${CUDA_NVCC_FLAGS} "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run"
  + execute_process( COMMAND ${DETECT_ARCHS_COMMAND}
  WORKING_DIRECTORY "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/"
  RESULT_VARIABLE _nvcc_res OUTPUT_VARIABLE _nvcc_out
  ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
  + string(REGEX REPLACE ".*\n" "" _nvcc_out "${_nvcc_out}") #Strip leading warning messages, if any
  if(NOT _nvcc_res EQUAL 0)
  message(STATUS "Automatic detection of CUDA generation failed. Going to build for all known architectures.")
  set(__cuda_arch_bin "5.3 6.2 7.0")
  