Fixed cmake script for generating opencv.pc file

Fixed OpenCVConfig script file
This commit is contained in:
Honza Horák 2012-07-04 16:22:39 +02:00
parent 9c53e89e62
commit 57420fa104

49
opencv-pkgcmake.patch Normal file
View File

@ -0,0 +1,49 @@
diff -up OpenCV-2.4.1/cmake/OpenCVGenPkgconfig.cmake.pkgcmake OpenCV-2.4.1/cmake/OpenCVGenPkgconfig.cmake
--- OpenCV-2.4.1/cmake/OpenCVGenPkgconfig.cmake.pkgcmake 2012-05-31 16:05:39.000000000 +0200
+++ OpenCV-2.4.1/cmake/OpenCVGenPkgconfig.cmake 2012-07-03 15:00:40.127943903 +0200
@@ -10,7 +10,7 @@
# -------------------------------------------------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
+set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
set(includedir "\${prefix}/${OPENCV_INCLUDE_PREFIX}")
set(VERSION ${OPENCV_VERSION})
@@ -36,7 +36,7 @@ ocv_list_reverse(OpenCV_LIB_COMPONENTS)
ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
#build the list of components
-set(OpenCV_LIB_COMPONENTS_ "")
+set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
foreach(CVLib ${OpenCV_LIB_COMPONENTS})
get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
get_filename_component(libname "${libpath}" NAME)
@@ -51,8 +51,10 @@ foreach(CVLib ${OpenCV_LIB_COMPONENTS})
else()
set(installDir "${OPENCV_LIB_INSTALL_PATH}")
endif()
-
- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
+ string(REPLACE "libopencv" "-lopencv" libname "${libname}")
+ string(REPLACE ".so" "" libname "${libname}")
+ string(REPLACE ".dylib" "" libname "${libname}")
+ set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${libname}")
endforeach()
# add extra dependencies required for OpenCV
diff -up OpenCV-2.4.1/cmake/templates/OpenCVConfig.cmake.in.pkgcmake OpenCV-2.4.1/cmake/templates/OpenCVConfig.cmake.in
--- OpenCV-2.4.1/cmake/templates/OpenCVConfig.cmake.in.pkgcmake 2012-07-03 15:01:44.060358547 +0200
+++ OpenCV-2.4.1/cmake/templates/OpenCVConfig.cmake.in 2012-07-03 15:02:12.787669436 +0200
@@ -55,9 +55,9 @@ get_filename_component(OpenCV_CONFIG_PAT
if(NOT WIN32)
# Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings
if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_LESS 2.8)
- get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../.." ABSOLUTE)
+ get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../.." ABSOLUTE)
else()
- get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../.." REALPATH)
+ get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../.." REALPATH)
endif()
endif()