From 61ef48eee64f2dcd0f3b4aba601d9374bf84276d Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Wed, 27 Feb 2013 14:39:28 +0400 Subject: [PATCH] fixed OpenCVConfig for cross-compilation: * added CUDA to EXTRA libs if OpenCV uses it * added -rpath-link option for linker if OpenCV was built as SHARED libs --- cmake/templates/OpenCVConfig.cmake.in | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmake/templates/OpenCVConfig.cmake.in b/cmake/templates/OpenCVConfig.cmake.in index 235c72b..ea331fe 100644 --- a/cmake/templates/OpenCVConfig.cmake.in +++ b/cmake/templates/OpenCVConfig.cmake.in @@ -221,7 +221,7 @@ foreach(__opttype OPT DBG) endif() # CUDA - if(OpenCV_CUDA_VERSION AND WIN32 AND NOT OpenCV_SHARED) + if(OpenCV_CUDA_VERSION AND (CMAKE_CROSSCOMPILING OR (WIN32 AND NOT OpenCV_SHARED))) if(NOT CUDA_FOUND) find_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED) else() @@ -304,3 +304,11 @@ else() SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_OPT} ${OpenCV_3RDPARTY_LIB_DIR_OPT}) endif() set(OpenCV_LIBRARIES ${OpenCV_LIBS}) + +if(CMAKE_CROSSCOMPILING AND OpenCV_SHARED AND (CMAKE_SYSTEM_NAME MATCHES "Linux")) + foreach(dir ${OpenCV_LIB_DIR}) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath-link,${dir}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath-link,${dir}") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-rpath-link,${dir}") + endforeach() +endif() -- 2.7.4