diff --git a/modules/python/python_loader.cmake b/modules/python/python_loader.cmake index dc16083c2a..19dbe4e334 100644 --- a/modules/python/python_loader.cmake +++ b/modules/python/python_loader.cmake @@ -68,13 +68,20 @@ if(DEFINED OPENCV_PYTHON_INSTALL_PATH) endif() set(CMAKE_PYTHON_BINARIES_PATH "${CMAKE_PYTHON_BINARIES_INSTALL_PATH}") if (WIN32 AND HAVE_CUDA) + set(_cuda_bin_dir "bin") if (ENABLE_CUDA_FIRST_CLASS_LANGUAGE) if (DEFINED CUDAToolkit_LIBRARY_ROOT) - list(APPEND CMAKE_PYTHON_BINARIES_PATH "os.path.join(os.getenv('CUDA_PATH', '${CUDAToolkit_LIBRARY_ROOT}'), 'bin')") + if(DEFINED CUDAToolkit_VERSION_MAJOR AND CUDAToolkit_VERSION_MAJOR GREATER_EQUAL 13) + set(_cuda_bin_dir "bin/x64") + endif() + list(APPEND CMAKE_PYTHON_BINARIES_PATH "os.path.join(os.getenv('CUDA_PATH', '${CUDAToolkit_LIBRARY_ROOT}'), '${_cuda_bin_dir}')") endif() else() if (DEFINED CUDA_TOOLKIT_ROOT_DIR) - list(APPEND CMAKE_PYTHON_BINARIES_PATH "os.path.join(os.getenv('CUDA_PATH', '${CUDA_TOOLKIT_ROOT_DIR}'), 'bin')") + if(DEFINED CUDA_VERSION_MAJOR AND CUDA_VERSION_MAJOR GREATER_EQUAL 13) + set(_cuda_bin_dir "bin/x64") + endif() + list(APPEND CMAKE_PYTHON_BINARIES_PATH "os.path.join(os.getenv('CUDA_PATH', '${CUDA_TOOLKIT_ROOT_DIR}'), '${_cuda_bin_dir}')") endif() endif() endif()