~paparazzi-uav/paparazzi/v5.0-manual

« back to all changes in this revision

Viewing changes to sw/ext/opencv_bebop/opencv/cmake/OpenCVGenConfig.cmake

  • Committer: Paparazzi buildbot
  • Date: 2016-05-18 15:00:29 UTC
  • Revision ID: felix.ruess+docbot@gmail.com-20160518150029-e8lgzi5kvb4p7un9
Manual import commit 4b8bbb730080dac23cf816b98908dacfabe2a8ec from v5.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# --------------------------------------------------------------------------------------------
 
2
#  Installation for CMake Module:  OpenCVConfig.cmake
 
3
#  Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"
 
4
#  Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use with "make install"
 
5
#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages
 
6
# -------------------------------------------------------------------------------------------
 
7
 
 
8
if(INSTALL_TO_MANGLED_PATHS)
 
9
  set(OpenCV_USE_MANGLED_PATHS_CONFIGCMAKE TRUE)
 
10
else()
 
11
  set(OpenCV_USE_MANGLED_PATHS_CONFIGCMAKE FALSE)
 
12
endif()
 
13
 
 
14
if(NOT OpenCV_CUDA_CC)
 
15
  set(OpenCV_CUDA_CC_CONFIGCMAKE "\"\"")
 
16
  set(OpenCV_CUDA_VERSION "")
 
17
else()
 
18
  set(OpenCV_CUDA_CC_CONFIGCMAKE "${OpenCV_CUDA_CC}")
 
19
  set(OpenCV_CUDA_VERSION ${CUDA_VERSION_STRING})
 
20
endif()
 
21
 
 
22
if(NOT ANDROID_NATIVE_API_LEVEL)
 
23
  set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE 0)
 
24
else()
 
25
  set(OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE "${ANDROID_NATIVE_API_LEVEL}")
 
26
endif()
 
27
 
 
28
if(CMAKE_GENERATOR MATCHES "Visual" OR CMAKE_GENERATOR MATCHES "Xcode")
 
29
  set(OpenCV_ADD_DEBUG_RELEASE_CONFIGCMAKE TRUE)
 
30
else()
 
31
  set(OpenCV_ADD_DEBUG_RELEASE_CONFIGCMAKE FALSE)
 
32
endif()
 
33
 
 
34
 
 
35
 
 
36
if(WIN32)
 
37
  if(MINGW)
 
38
    set(OPENCV_LINK_LIBRARY_SUFFIX ".dll.a")
 
39
  else()
 
40
    set(OPENCV_LINK_LIBRARY_SUFFIX ".lib")
 
41
  endif()
 
42
endif()
 
43
 
 
44
#build list of modules available for the OpenCV user
 
45
set(OpenCV_LIB_COMPONENTS "")
 
46
foreach(m ${OPENCV_MODULES_PUBLIC})
 
47
  list(INSERT OpenCV_LIB_COMPONENTS 0 ${${m}_MODULE_DEPS_OPT} ${m})
 
48
endforeach()
 
49
ocv_list_unique(OpenCV_LIB_COMPONENTS)
 
50
set(OPENCV_MODULES_CONFIGCMAKE ${OpenCV_LIB_COMPONENTS})
 
51
ocv_list_filterout(OpenCV_LIB_COMPONENTS "^opencv_")
 
52
if(OpenCV_LIB_COMPONENTS)
 
53
  list(REMOVE_ITEM OPENCV_MODULES_CONFIGCMAKE ${OpenCV_LIB_COMPONENTS})
 
54
endif()
 
55
 
 
56
if(BUILD_FAT_JAVA_LIB AND HAVE_opencv_java)
 
57
  list(APPEND OPENCV_MODULES_CONFIGCMAKE opencv_java)
 
58
endif()
 
59
 
 
60
# -------------------------------------------------------------------------------------------
 
61
#  Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"
 
62
# -------------------------------------------------------------------------------------------
 
63
set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"${OPENCV_CONFIG_FILE_INCLUDE_DIR}\" \"${OpenCV_SOURCE_DIR}/include\" \"${OpenCV_SOURCE_DIR}/include/opencv\"")
 
64
 
 
65
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "")
 
66
foreach(m ${OPENCV_MODULES_BUILD})
 
67
  if(EXISTS "${OPENCV_MODULE_${m}_LOCATION}/include")
 
68
    list(APPEND OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "${OPENCV_MODULE_${m}_LOCATION}/include")
 
69
  endif()
 
70
endforeach()
 
71
 
 
72
if(ANDROID AND NOT BUILD_SHARED_LIBS AND HAVE_TBB)
 
73
  #export TBB headers location because static linkage of TBB might be troublesome if application wants to use TBB itself
 
74
  list(APPEND OpenCV2_INCLUDE_DIRS_CONFIGCMAKE ${TBB_INCLUDE_DIRS})
 
75
endif()
 
76
 
 
77
set(modules_file_suffix "")
 
78
if(ANDROID)
 
79
  # the REPLACE here is needed, because OpenCVModules_armeabi.cmake includes
 
80
  # OpenCVModules_armeabi-*.cmake, which would match OpenCVModules_armeabi-v7a*.cmake.
 
81
  string(REPLACE - _ modules_file_suffix "_${ANDROID_NDK_ABI_NAME}")
 
82
endif()
 
83
 
 
84
export(TARGETS ${OpenCVModules_TARGETS} FILE "${CMAKE_BINARY_DIR}/OpenCVModules${modules_file_suffix}.cmake")
 
85
 
 
86
if(TARGET ippicv AND (NOT BUILD_SHARED_LIBS OR NOT INSTALL_CREATE_DISTRIB))
 
87
  set(USE_IPPICV TRUE)
 
88
  file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV ${CMAKE_BINARY_DIR} ${IPPICV_LOCATION_PATH})
 
89
else()
 
90
  set(USE_IPPICV FALSE)
 
91
  set(INSTALL_PATH_RELATIVE_IPPICV "non-existed-path")
 
92
endif()
 
93
 
 
94
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" @ONLY)
 
95
#support for version checking when finding opencv. find_package(OpenCV 2.3.1 EXACT) should now work.
 
96
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig-version.cmake" @ONLY)
 
97
 
 
98
# --------------------------------------------------------------------------------------------
 
99
#  Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
 
100
# -------------------------------------------------------------------------------------------
 
101
set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}/opencv" "\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}\"")
 
102
 
 
103
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
 
104
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_3P_LIB_INSTALL_PATH}\"")
 
105
 
 
106
if(UNIX) # ANDROID configuration is created here also
 
107
  #http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
 
108
  # For a command "find_package(<name> [major[.minor]] [EXACT] [REQUIRED|QUIET])"
 
109
  # cmake will look in the following dir on unix:
 
110
  #                <prefix>/(share|lib)/cmake/<name>*/                     (U)
 
111
  #                <prefix>/(share|lib)/<name>*/                           (U)
 
112
  #                <prefix>/(share|lib)/<name>*/(cmake|CMake)/             (U)
 
113
  if(USE_IPPICV)
 
114
    file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV "${CMAKE_INSTALL_PREFIX}/${OPENCV_CONFIG_INSTALL_PATH}/" ${IPPICV_INSTALL_PATH})
 
115
  endif()
 
116
  configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY)
 
117
  configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY)
 
118
  install(FILES "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
 
119
  install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
 
120
  install(EXPORT OpenCVModules DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
 
121
endif()
 
122
 
 
123
if(ANDROID)
 
124
  install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
 
125
endif()
 
126
 
 
127
# --------------------------------------------------------------------------------------------
 
128
#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages
 
129
# --------------------------------------------------------------------------------------------
 
130
if(WIN32)
 
131
  set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_CONFIG_PATH}/include\" \"\${OpenCV_CONFIG_PATH}/include/opencv\"")
 
132
  set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
 
133
 
 
134
  exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"" OUTPUT_VARIABLE RET_VAL)
 
135
  if(USE_IPPICV)
 
136
    file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV "${CMAKE_INSTALL_PREFIX}/${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" ${IPPICV_INSTALL_PATH})
 
137
  endif()
 
138
  configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" @ONLY)
 
139
  configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" @ONLY)
 
140
  if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
 
141
    if(BUILD_SHARED_LIBS)
 
142
      install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
 
143
      install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
 
144
    else()
 
145
      install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" COMPONENT dev)
 
146
      install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
 
147
    endif()
 
148
    install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}" COMPONENT dev)
 
149
    install(FILES "${OpenCV_SOURCE_DIR}/cmake/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/" COMPONENT dev)
 
150
  else ()
 
151
    install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" COMPONENT dev)
 
152
    install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
 
153
    install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/opencv-${OPENCV_VERSION}" COMPONENT dev)
 
154
  endif ()
 
155
endif()