From: Alexander Smorkalov Date: Fri, 28 Feb 2014 14:18:20 +0000 (+0400) Subject: Cut path to CUDA libraries to prevent generation of OpenCVModules.cmake with abs... X-Git-Tag: accepted/tizen/6.0/unified/20201030.111113~1314^2~551^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=284b2fc1e735886c569685333d558f624ce58719;p=platform%2Fupstream%2Fopencv.git Cut path to CUDA libraries to prevent generation of OpenCVModules.cmake with abs path. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fb49497..747d207 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -467,7 +467,6 @@ include(cmake/OpenCVFindLibsGUI.cmake) include(cmake/OpenCVFindLibsVideo.cmake) include(cmake/OpenCVFindLibsPerf.cmake) - # ---------------------------------------------------------------------------- # Detect other 3rd-party libraries/tools # ---------------------------------------------------------------------------- @@ -513,16 +512,6 @@ if(NOT HAVE_CUDA) set(ENABLE_DYNAMIC_CUDA OFF) endif() -if(HAVE_CUDA AND NOT ENABLE_DYNAMIC_CUDA) - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) - if(HAVE_CUBLAS) - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${CUDA_cublas_LIBRARY}) - endif() - if(HAVE_CUFFT) - set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${CUDA_cufft_LIBRARY}) - endif() -endif() - # ---------------------------------------------------------------------------- # Solution folders: # ---------------------------------------------------------------------------- diff --git a/cmake/OpenCVDetectAndroidSDK.cmake b/cmake/OpenCVDetectAndroidSDK.cmake index af74271..2737589 100644 --- a/cmake/OpenCVDetectAndroidSDK.cmake +++ b/cmake/OpenCVDetectAndroidSDK.cmake @@ -326,12 +326,12 @@ macro(add_android_project target path) # copy all needed CUDA libs to project if EMBED_CUDA flag is present if(android_proj_EMBED_CUDA) - set(android_proj_culibs ${CUDA_npp_LIBRARY} ${CUDA_LIBRARIES}) + set(android_proj_culibs ${CUDA_npp_LIBRARY_ABS} ${CUDA_LIBRARIES_ABS}) if(HAVE_CUFFT) - list(INSERT android_proj_culibs 0 ${CUDA_cufft_LIBRARY}) + list(INSERT android_proj_culibs 0 ${CUDA_cufft_LIBRARY_ABS}) endif() if(HAVE_CUBLAS) - list(INSERT android_proj_culibs 0 ${CUDA_cublas_LIBRARY}) + list(INSERT android_proj_culibs 0 ${CUDA_cublas_LIBRARY_ABS}) endif() foreach(lib ${android_proj_culibs}) get_filename_component(f "${lib}" NAME) diff --git a/cmake/OpenCVDetectCUDA.cmake b/cmake/OpenCVDetectCUDA.cmake index 56b1429..24fbb03 100644 --- a/cmake/OpenCVDetectCUDA.cmake +++ b/cmake/OpenCVDetectCUDA.cmake @@ -219,3 +219,42 @@ else() unset(CUDA_ARCH_BIN CACHE) unset(CUDA_ARCH_PTX CACHE) endif() + +if(HAVE_CUDA) + set(CUDA_LIBS_PATH "") + foreach(p ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) + get_filename_component(_tmp ${p} PATH) + list(APPEND CUDA_LIBS_PATH ${_tmp}) + endforeach() + + if(HAVE_CUBLAS) + foreach(p ${CUDA_cublas_LIBRARY}) + get_filename_component(_tmp ${p} PATH) + list(APPEND CUDA_LIBS_PATH ${_tmp}) + endforeach() + endif() + + if(HAVE_CUFFT) + foreach(p ${CUDA_cufft_LIBRARY}) + get_filename_component(_tmp ${p} PATH) + list(APPEND CUDA_LIBS_PATH ${_tmp}) + endforeach() + endif() + + list(REMOVE_DUPLICATES CUDA_LIBS_PATH) + link_directories(${CUDA_LIBS_PATH}) + + set(CUDA_LIBRARIES_ABS ${CUDA_LIBRARIES}) + ocv_convert_to_lib_name(CUDA_LIBRARIES ${CUDA_LIBRARIES}) + set(CUDA_npp_LIBRARY_ABS ${CUDA_npp_LIBRARY}) + ocv_convert_to_lib_name(CUDA_npp_LIBRARY ${CUDA_npp_LIBRARY}) + if(HAVE_CUBLAS) + set(CUDA_cublas_LIBRARY_ABS ${CUDA_cublas_LIBRARY}) + ocv_convert_to_lib_name(CUDA_cublas_LIBRARY ${CUDA_cublas_LIBRARY}) + endif() + + if(HAVE_CUFFT) + set(CUDA_cufft_LIBRARY_ABS ${CUDA_cufft_LIBRARY}) + ocv_convert_to_lib_name(CUDA_cufft_LIBRARY ${CUDA_cufft_LIBRARY}) + endif() +endif() \ No newline at end of file