applied patches by sigma (ticket #644)
authorVadim Pisarevsky <no@email>
Mon, 29 Nov 2010 22:18:28 +0000 (22:18 +0000)
committerVadim Pisarevsky <no@email>
Mon, 29 Nov 2010 22:18:28 +0000 (22:18 +0000)
CMakeLists.txt
OpenCVConfig.cmake.in

index 46dac48..e354f92 100644 (file)
@@ -1068,7 +1068,7 @@ set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
 set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")\r
 \r
 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")\r
-exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")\r
+exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"" OUTPUT_VARIABLE RET_VAL)\r
 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
 \r
 if(UNIX)\r
@@ -1080,18 +1080,42 @@ endif()
 #  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages\r
 # -------------------------------------------------------------------------------------------\r
 if(WIN32)\r
+\r
     # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:\r
+    # support for 3rdparty libraries.\r
 \r
     # This will expand to, for example, <program files>/OpenCV 1.1.0/include\r
-    set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")\r
-        set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"${THIS_OPENCV_CONFIG_PATH}\"")\r
+    set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \r
+                                        \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\" \r
+                                        \"\${THIS_OPENCV_CONFIG_PATH}/3rdparty/include\"")\r
+\r
+    set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}\"")\r
 \r
     # This will expand to, for example, <program files>/OpenCV 1.1.0/lib\r
-    set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")\r
+       # support for 3rdparty libraries.\r
+    set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\" \r
+                                    \"\${THIS_OPENCV_CONFIG_PATH}/3rdparty/lib\"")\r
 \r
     #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")\r
-    exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"")\r
+    exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"" OUTPUT_VARIABLE RET_VAL)\r
     configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
+\r
+    # Configure the OpenCVConfig.cmake file to have the right paths pointing to the install directory\r
+    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_INSTALL_PREFIX}/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
+\r
+    # if videoInput support is enabled (which is by default on WIN32) copy the static library required to the installation path\r
+    # DESTINATION could also be "${CMAKE_INSTALL_PREFIX}/lib") to simplify dev environment setup of client applications\r
+    IF(HAVE_VIDEOINPUT)\r
+        install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lib/videoInput.lib" "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lib/videoInput64.lib"\r
+                DESTINATION "${CMAKE_INSTALL_PREFIX}/3rdparty/lib")\r
+\r
+        install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/include/videoInput.h" DESTINATION "${CMAKE_INSTALL_PREFIX}/3rdparty/include")\r
+    ENDIF()\r
+\r
+    # Add the OpenCV configuration header to the install path\r
+    # Useful for instance if a client application checks against the features OpenCV has been compiled with\r
+    install(FILES "${CMAKE_BINARY_DIR}/cvconfig.h" DESTINATION "${CMAKE_INSTALL_PREFIX}/include")\r
+\r
 endif()\r
 \r
 \r
index 9b7b443..895d8a3 100644 (file)
@@ -35,16 +35,20 @@ get_filename_component(THIS_OPENCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH
 # ======================================================\r
 # Include directories to add to the user project:\r
 # ======================================================\r
-INCLUDE_DIRECTORIES(@CMAKE_INCLUDE_DIRS_CONFIGCMAKE@)\r
+\r
 # Provide the include directories to the caller\r
 SET(OpenCV_INCLUDE_DIRS @CMAKE_INCLUDE_DIRS_CONFIGCMAKE@)\r
 \r
+INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})\r
+\r
 # ======================================================\r
 # Link directories to add to the user project:\r
 # ======================================================\r
-LINK_DIRECTORIES("@CMAKE_LIB_DIRS_CONFIGCMAKE@")\r
+\r
 # Provide the libs directory anyway, it may be needed in some cases.\r
-SET(OpenCV_LIB_DIR "@CMAKE_LIB_DIRS_CONFIGCMAKE@")\r
+SET(OpenCV_LIB_DIR @CMAKE_LIB_DIRS_CONFIGCMAKE@)\r
+\r
+LINK_DIRECTORIES(${OpenCV_LIB_DIR})\r
 \r
 # ====================================================================\r
 # Link libraries: e.g.   opencv_core220.so, opencv_imgproc220d.lib, etc...\r
@@ -78,7 +82,7 @@ endif(NOT @CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@ STREQUAL  "")
 #  many more dependencies:\r
 IF (NOT @OPENCV_BUILD_SHARED_LIB@)\r
        # Under static libs, the user of OpenCV needs access to the 3rdparty libs as well:\r
-       LINK_DIRECTORIES("@CMAKE_BINARY_DIR@/3rdparty/lib")\r
+       #LINK_DIRECTORIES(@CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@/3rdparty/lib")\r
 \r
        SET(OpenCV_LIBS\r
                @OPENCV_LINKER_LIBS@\r