document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # ===================================================================================
  2. #  The OpenCV CMake configuration file
  3. #
  4. #             ** File generated automatically, do not modify **
  5. #
  6. #  Usage from an external project:
  7. #    In your CMakeLists.txt, add these lines:
  8. #
  9. #    FIND_PACKAGE(OpenCV REQUIRED)
  10. #    TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS})
  11. #
  12. #    Or you can search for specific OpenCV modules:
  13. #
  14. #    FIND_PACKAGE(OpenCV REQUIRED core highgui)
  15. #
  16. #    If the module is found then OPENCV_<MODULE>_FOUND is set to TRUE.
  17. #
  18. #    This file will define the following variables:
  19. #      - OpenCV_LIBS                     : The list of libraries to links against.
  20. #      - OpenCV_LIB_DIR                  : The directory(es) where lib files are. Calling LINK_DIRECTORIES
  21. #                                          with this path is NOT needed.
  22. #      - OpenCV_INCLUDE_DIRS             : The OpenCV include directories.
  23. #      - OpenCV_COMPUTE_CAPABILITIES     : The version of compute capability
  24. #      - OpenCV_ANDROID_NATIVE_API_LEVEL : Minimum required level of Android API
  25. #      - OpenCV_VERSION                  : The version of this OpenCV build: "2.4.6"
  26. #      - OpenCV_VERSION_MAJOR            : Major version part of OpenCV_VERSION: "2"
  27. #      - OpenCV_VERSION_MINOR            : Minor version part of OpenCV_VERSION: "4"
  28. #      - OpenCV_VERSION_PATCH            : Patch version part of OpenCV_VERSION: "6"
  29. #      - OpenCV_VERSION_TWEAK            : Tweak version part of OpenCV_VERSION: "0"
  30. #
  31. #    Advanced variables:
  32. #      - OpenCV_SHARED
  33. #      - OpenCV_CONFIG_PATH
  34. #      - OpenCV_INSTALL_PATH  (not set on Windows)
  35. #      - OpenCV_LIB_COMPONENTS
  36. #      - OpenCV_USE_MANGLED_PATHS
  37. #      - OpenCV_HAVE_ANDROID_CAMERA
  38. #
  39. # ===================================================================================
  40.  
  41. # Version Compute Capability from which OpenCV has been compiled is remembered
  42. set(OpenCV_COMPUTE_CAPABILITIES -gencode;arch=compute_20,code=sm_21)
  43.  
  44. set(OpenCV_CUDA_VERSION 5.0)
  45. set(OpenCV_USE_CUBLAS   )
  46. set(OpenCV_USE_CUFFT    1)
  47. set(OpenCV_USE_NVCUVID  )
  48.  
  49. # Android API level from which OpenCV has been compiled is remembered
  50. set(OpenCV_ANDROID_NATIVE_API_LEVEL 0)
  51.  
  52. # Some additional settings are required if OpenCV is built as static libs
  53. set(OpenCV_SHARED ON)
  54.  
  55. # Enables mangled install paths, that help with side by side installs
  56. set(OpenCV_USE_MANGLED_PATHS FALSE)
  57.  
  58. # Extract the directory where *this* file has been installed (determined at cmake run-time)
  59. get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
  60.  
  61. if(NOT WIN32 OR OpenCV_ANDROID_NATIVE_API_LEVEL GREATER 0)
  62.   if(OpenCV_ANDROID_NATIVE_API_LEVEL GREATER 0)
  63.     set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../..")
  64.   else()
  65.     set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../..")
  66.   endif()
  67.   # Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings
  68.   if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_LESS 2.8)
  69.     get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" ABSOLUTE)
  70.   else()
  71.     get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" REALPATH)
  72.   endif()
  73. endif()
  74.  
  75. # Presence of Android native camera wrappers
  76. set(OpenCV_HAVE_ANDROID_CAMERA OFF)
  77.  
  78. # ======================================================
  79. # Include directories to add to the user project:
  80. # ======================================================
  81.  
  82. # Provide the include directories to the caller
  83. set(OpenCV_INCLUDE_DIRS "C:/OpenCV_GPU_build" "C:/OpenCV_GPU/include" "C:/OpenCV_GPU/include/opencv")
  84. include_directories(${OpenCV_INCLUDE_DIRS})
  85.  
  86. # ======================================================
  87. # Link directories to add to the user project:
  88. # ======================================================
  89.  
  90. # Provide the libs directories to the caller
  91. set(OpenCV_LIB_DIR_OPT "C:/OpenCV_GPU_build/lib" CACHE PATH "Path where release OpenCV libraries are located")
  92. set(OpenCV_LIB_DIR_DBG "C:/OpenCV_GPU_build/lib" CACHE PATH "Path where debug OpenCV libraries are located")
  93. set(OpenCV_3RDPARTY_LIB_DIR_OPT "C:/OpenCV_GPU_build/3rdparty/lib" CACHE PATH "Path where release 3rdpaty OpenCV dependencies are located")
  94. set(OpenCV_3RDPARTY_LIB_DIR_DBG "C:/OpenCV_GPU_build/3rdparty/lib" CACHE PATH "Path where debug 3rdpaty OpenCV dependencies are located")
  95. mark_as_advanced(FORCE OpenCV_LIB_DIR_OPT OpenCV_LIB_DIR_DBG OpenCV_3RDPARTY_LIB_DIR_OPT OpenCV_3RDPARTY_LIB_DIR_DBG OpenCV_CONFIG_PATH)
  96.  
  97. # ======================================================
  98. #  Version variables:
  99. # ======================================================
  100. SET(OpenCV_VERSION 2.4.6)
  101. SET(OpenCV_VERSION_MAJOR  2)
  102. SET(OpenCV_VERSION_MINOR  4)
  103. SET(OpenCV_VERSION_PATCH  6)
  104. SET(OpenCV_VERSION_TWEAK  0)
  105.  
  106. # ====================================================================
  107. # Link libraries: e.g.   libopencv_core.so, opencv_imgproc220d.lib, etc...
  108. # ====================================================================
  109.  
  110. SET(OpenCV_LIB_COMPONENTS opencv_world;opencv_videostab;opencv_video;opencv_ts;opencv_superres;opencv_stitching;opencv_photo;opencv_objdetect;opencv_nonfree;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d)
  111.  
  112. set(OpenCV_opencv_world_LIBNAME_OPT "opencv_world246.lib")
  113. set(OpenCV_opencv_world_DEPS_OPT )
  114. set(OpenCV_opencv_world_EXTRA_DEPS_OPT )
  115. set(OpenCV_opencv_videostab_LIBNAME_OPT "opencv_videostab246.lib")
  116. set(OpenCV_opencv_videostab_DEPS_OPT )
  117. set(OpenCV_opencv_videostab_EXTRA_DEPS_OPT )
  118. set(OpenCV_opencv_video_LIBNAME_OPT "opencv_video246.lib")
  119. set(OpenCV_opencv_video_DEPS_OPT )
  120. set(OpenCV_opencv_video_EXTRA_DEPS_OPT )
  121. set(OpenCV_opencv_ts_LIBNAME_OPT "opencv_ts246.lib")
  122. set(OpenCV_opencv_ts_DEPS_OPT )
  123. set(OpenCV_opencv_ts_EXTRA_DEPS_OPT )
  124. set(OpenCV_opencv_superres_LIBNAME_OPT "opencv_superres246.lib")
  125. set(OpenCV_opencv_superres_DEPS_OPT )
  126. set(OpenCV_opencv_superres_EXTRA_DEPS_OPT )
  127. set(OpenCV_opencv_stitching_LIBNAME_OPT "opencv_stitching246.lib")
  128. set(OpenCV_opencv_stitching_DEPS_OPT )
  129. set(OpenCV_opencv_stitching_EXTRA_DEPS_OPT )
  130. set(OpenCV_opencv_photo_LIBNAME_OPT "opencv_photo246.lib")
  131. set(OpenCV_opencv_photo_DEPS_OPT )
  132. set(OpenCV_opencv_photo_EXTRA_DEPS_OPT )
  133. set(OpenCV_opencv_objdetect_LIBNAME_OPT "opencv_objdetect246.lib")
  134. set(OpenCV_opencv_objdetect_DEPS_OPT )
  135. set(OpenCV_opencv_objdetect_EXTRA_DEPS_OPT )
  136. set(OpenCV_opencv_nonfree_LIBNAME_OPT "opencv_nonfree246.lib")
  137. set(OpenCV_opencv_nonfree_DEPS_OPT )
  138. set(OpenCV_opencv_nonfree_EXTRA_DEPS_OPT )
  139. set(OpenCV_opencv_ml_LIBNAME_OPT "opencv_ml246.lib")
  140. set(OpenCV_opencv_ml_DEPS_OPT )
  141. set(OpenCV_opencv_ml_EXTRA_DEPS_OPT )
  142. set(OpenCV_opencv_legacy_LIBNAME_OPT "opencv_legacy246.lib")
  143. set(OpenCV_opencv_legacy_DEPS_OPT )
  144. set(OpenCV_opencv_legacy_EXTRA_DEPS_OPT )
  145. set(OpenCV_opencv_imgproc_LIBNAME_OPT "opencv_imgproc246.lib")
  146. set(OpenCV_opencv_imgproc_DEPS_OPT )
  147. set(OpenCV_opencv_imgproc_EXTRA_DEPS_OPT )
  148. set(OpenCV_opencv_highgui_LIBNAME_OPT "opencv_highgui246.lib")
  149. set(OpenCV_opencv_highgui_DEPS_OPT )
  150. set(OpenCV_opencv_highgui_EXTRA_DEPS_OPT )
  151. set(OpenCV_opencv_gpu_LIBNAME_OPT "opencv_gpu246.lib")
  152. set(OpenCV_opencv_gpu_DEPS_OPT )
  153. set(OpenCV_opencv_gpu_EXTRA_DEPS_OPT )
  154. set(OpenCV_opencv_flann_LIBNAME_OPT "opencv_flann246.lib")
  155. set(OpenCV_opencv_flann_DEPS_OPT )
  156. set(OpenCV_opencv_flann_EXTRA_DEPS_OPT )
  157. set(OpenCV_opencv_features2d_LIBNAME_OPT "opencv_features2d246.lib")
  158. set(OpenCV_opencv_features2d_DEPS_OPT )
  159. set(OpenCV_opencv_features2d_EXTRA_DEPS_OPT )
  160. set(OpenCV_opencv_core_LIBNAME_OPT "opencv_core246.lib")
  161. set(OpenCV_opencv_core_DEPS_OPT )
  162. set(OpenCV_opencv_core_EXTRA_DEPS_OPT )
  163. set(OpenCV_opencv_contrib_LIBNAME_OPT "opencv_contrib246.lib")
  164. set(OpenCV_opencv_contrib_DEPS_OPT )
  165. set(OpenCV_opencv_contrib_EXTRA_DEPS_OPT )
  166. set(OpenCV_opencv_calib3d_LIBNAME_OPT "opencv_calib3d246.lib")
  167. set(OpenCV_opencv_calib3d_DEPS_OPT )
  168. set(OpenCV_opencv_calib3d_EXTRA_DEPS_OPT )
  169.  
  170.  
  171. set(OpenCV_opencv_world_LIBNAME_DBG "opencv_world246d.lib")
  172. set(OpenCV_opencv_world_DEPS_DBG )
  173. set(OpenCV_opencv_world_EXTRA_DEPS_DBG )
  174. set(OpenCV_opencv_videostab_LIBNAME_DBG "opencv_videostab246d.lib")
  175. set(OpenCV_opencv_videostab_DEPS_DBG )
  176. set(OpenCV_opencv_videostab_EXTRA_DEPS_DBG )
  177. set(OpenCV_opencv_video_LIBNAME_DBG "opencv_video246d.lib")
  178. set(OpenCV_opencv_video_DEPS_DBG )
  179. set(OpenCV_opencv_video_EXTRA_DEPS_DBG )
  180. set(OpenCV_opencv_ts_LIBNAME_DBG "opencv_ts246d.lib")
  181. set(OpenCV_opencv_ts_DEPS_DBG )
  182. set(OpenCV_opencv_ts_EXTRA_DEPS_DBG )
  183. set(OpenCV_opencv_superres_LIBNAME_DBG "opencv_superres246d.lib")
  184. set(OpenCV_opencv_superres_DEPS_DBG )
  185. set(OpenCV_opencv_superres_EXTRA_DEPS_DBG )
  186. set(OpenCV_opencv_stitching_LIBNAME_DBG "opencv_stitching246d.lib")
  187. set(OpenCV_opencv_stitching_DEPS_DBG )
  188. set(OpenCV_opencv_stitching_EXTRA_DEPS_DBG )
  189. set(OpenCV_opencv_photo_LIBNAME_DBG "opencv_photo246d.lib")
  190. set(OpenCV_opencv_photo_DEPS_DBG )
  191. set(OpenCV_opencv_photo_EXTRA_DEPS_DBG )
  192. set(OpenCV_opencv_objdetect_LIBNAME_DBG "opencv_objdetect246d.lib")
  193. set(OpenCV_opencv_objdetect_DEPS_DBG )
  194. set(OpenCV_opencv_objdetect_EXTRA_DEPS_DBG )
  195. set(OpenCV_opencv_nonfree_LIBNAME_DBG "opencv_nonfree246d.lib")
  196. set(OpenCV_opencv_nonfree_DEPS_DBG )
  197. set(OpenCV_opencv_nonfree_EXTRA_DEPS_DBG )
  198. set(OpenCV_opencv_ml_LIBNAME_DBG "opencv_ml246d.lib")
  199. set(OpenCV_opencv_ml_DEPS_DBG )
  200. set(OpenCV_opencv_ml_EXTRA_DEPS_DBG )
  201. set(OpenCV_opencv_legacy_LIBNAME_DBG "opencv_legacy246d.lib")
  202. set(OpenCV_opencv_legacy_DEPS_DBG )
  203. set(OpenCV_opencv_legacy_EXTRA_DEPS_DBG )
  204. set(OpenCV_opencv_imgproc_LIBNAME_DBG "opencv_imgproc246d.lib")
  205. set(OpenCV_opencv_imgproc_DEPS_DBG )
  206. set(OpenCV_opencv_imgproc_EXTRA_DEPS_DBG )
  207. set(OpenCV_opencv_highgui_LIBNAME_DBG "opencv_highgui246d.lib")
  208. set(OpenCV_opencv_highgui_DEPS_DBG )
  209. set(OpenCV_opencv_highgui_EXTRA_DEPS_DBG )
  210. set(OpenCV_opencv_gpu_LIBNAME_DBG "opencv_gpu246d.lib")
  211. set(OpenCV_opencv_gpu_DEPS_DBG )
  212. set(OpenCV_opencv_gpu_EXTRA_DEPS_DBG )
  213. set(OpenCV_opencv_flann_LIBNAME_DBG "opencv_flann246d.lib")
  214. set(OpenCV_opencv_flann_DEPS_DBG )
  215. set(OpenCV_opencv_flann_EXTRA_DEPS_DBG )
  216. set(OpenCV_opencv_features2d_LIBNAME_DBG "opencv_features2d246d.lib")
  217. set(OpenCV_opencv_features2d_DEPS_DBG )
  218. set(OpenCV_opencv_features2d_EXTRA_DEPS_DBG )
  219. set(OpenCV_opencv_core_LIBNAME_DBG "opencv_core246d.lib")
  220. set(OpenCV_opencv_core_DEPS_DBG )
  221. set(OpenCV_opencv_core_EXTRA_DEPS_DBG )
  222. set(OpenCV_opencv_contrib_LIBNAME_DBG "opencv_contrib246d.lib")
  223. set(OpenCV_opencv_contrib_DEPS_DBG )
  224. set(OpenCV_opencv_contrib_EXTRA_DEPS_DBG )
  225. set(OpenCV_opencv_calib3d_LIBNAME_DBG "opencv_calib3d246d.lib")
  226. set(OpenCV_opencv_calib3d_DEPS_DBG )
  227. set(OpenCV_opencv_calib3d_EXTRA_DEPS_DBG )
  228.  
  229.  
  230. # ==============================================================
  231. #  Extra include directories, needed by OpenCV 2 new structure
  232. # ==============================================================
  233. SET(OpenCV2_INCLUDE_DIRS C:/OpenCV_GPU/modules/core/include;C:/OpenCV_GPU/modules/imgproc/include;C:/OpenCV_GPU/modules/flann/include;C:/OpenCV_GPU/modules/highgui/include;C:/OpenCV_GPU/modules/features2d/include;C:/OpenCV_GPU/modules/calib3d/include;C:/OpenCV_GPU/modules/ml/include;C:/OpenCV_GPU/modules/video/include;C:/OpenCV_GPU/modules/objdetect/include;C:/OpenCV_GPU/modules/contrib/include;C:/OpenCV_GPU/modules/photo/include;C:/OpenCV_GPU/modules/legacy/include;C:/OpenCV_GPU/modules/gpu/include;C:/OpenCV_GPU/modules/nonfree/include;C:/OpenCV_GPU/modules/stitching/include;C:/OpenCV_GPU/modules/superres/include;C:/OpenCV_GPU/modules/ts/include;C:/OpenCV_GPU/modules/videostab/include;C:/OpenCV_GPU/modules/world/include)
  234. if(OpenCV2_INCLUDE_DIRS)
  235.   include_directories(${OpenCV2_INCLUDE_DIRS})
  236.   list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV2_INCLUDE_DIRS})
  237.  
  238.   set(OpenCV_ADD_DEBUG_RELEASE TRUE)
  239.   if(OpenCV_ADD_DEBUG_RELEASE)
  240.     set(OpenCV_LIB_DIR_OPT "${OpenCV_LIB_DIR_OPT}/Release")
  241.     set(OpenCV_LIB_DIR_DBG "${OpenCV_LIB_DIR_DBG}/Debug")
  242.     set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_3RDPARTY_LIB_DIR_OPT}/Release")
  243.     set(OpenCV_3RDPARTY_LIB_DIR_DBG "${OpenCV_3RDPARTY_LIB_DIR_DBG}/Debug")
  244.   endif()
  245. endif()
  246.  
  247. # ==============================================================
  248. #  Check OpenCV availability
  249. # ==============================================================
  250. if(ANDROID AND OpenCV_ANDROID_NATIVE_API_LEVEL GREATER ANDROID_NATIVE_API_LEVEL)
  251.   message(FATAL_ERROR "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")
  252.   #always FATAL_ERROR because we can\'t say to the caller that OpenCV is not found
  253.   #http://www.mail-archive.com/cmake@cmake.org/msg37831.html
  254.   if(OpenCV_FIND_REQUIRED)
  255.     message(FATAL_ERROR "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")
  256.   elseif(NOT OpenCV_FIND_QUIETLY)
  257.     message(WARNING "Minimum required by OpenCV API level is android-${OpenCV_ANDROID_NATIVE_API_LEVEL}")
  258.   endif()
  259.   set(OpenCV_FOUND "OpenCV_FOUND-NOTFOUND")
  260.   return()#Android toolchain requires CMake > 2.6
  261. endif()
  262.  
  263. # ==============================================================
  264. #  Form list of modules (components) to find
  265. # ==============================================================
  266. if(NOT OpenCV_FIND_COMPONENTS)
  267.   set(OpenCV_FIND_COMPONENTS ${OpenCV_LIB_COMPONENTS})
  268.   list(REMOVE_ITEM OpenCV_FIND_COMPONENTS opencv_java)
  269.   if(GTest_FOUND OR GTEST_FOUND)
  270.     list(REMOVE_ITEM OpenCV_FIND_COMPONENTS opencv_ts)
  271.   endif()
  272. endif()
  273.  
  274. # expand short module names and see if requested components exist
  275. set(OpenCV_FIND_COMPONENTS_ "")
  276. foreach(__cvcomponent ${OpenCV_FIND_COMPONENTS})
  277.   if(NOT __cvcomponent MATCHES "^opencv_")
  278.     set(__cvcomponent opencv_${__cvcomponent})
  279.   endif()
  280.   list(FIND OpenCV_LIB_COMPONENTS ${__cvcomponent} __cvcomponentIdx)
  281.   if(__cvcomponentIdx LESS 0)
  282.     #requested component is not found...
  283.     if(OpenCV_FIND_REQUIRED)
  284.       message(FATAL_ERROR "${__cvcomponent} is required but was not found")
  285.     elseif(NOT OpenCV_FIND_QUIETLY)
  286.       message(WARNING "${__cvcomponent} is required but was not found")
  287.     endif()
  288.     #indicate that module is NOT found
  289.     string(TOUPPER "${__cvcomponent}" __cvcomponent)
  290.     set(${__cvcomponent}_FOUND "${__cvcomponent}_FOUND-NOTFOUND")
  291.   else()
  292.     list(APPEND OpenCV_FIND_COMPONENTS_ ${__cvcomponent})
  293.     #indicate that module is found
  294.     string(TOUPPER "${__cvcomponent}" __cvcomponent)
  295.     set(${__cvcomponent}_FOUND 1)
  296.   endif()
  297. endforeach()
  298. set(OpenCV_FIND_COMPONENTS ${OpenCV_FIND_COMPONENTS_})
  299.  
  300. # ==============================================================
  301. #  Resolve dependencies
  302. # ==============================================================
  303. if(OpenCV_USE_MANGLED_PATHS)
  304.   set(OpenCV_LIB_SUFFIX ".${OpenCV_VERSION_MAJOR}.${OpenCV_VERSION_MINOR}.${OpenCV_VERSION_PATCH}")
  305. else()
  306.   set(OpenCV_LIB_SUFFIX "")
  307. endif()
  308.  
  309. foreach(__opttype OPT DBG)
  310.   SET(OpenCV_LIBS_${__opttype} "")
  311.   SET(OpenCV_EXTRA_LIBS_${__opttype} "")
  312.   foreach(__cvlib ${OpenCV_FIND_COMPONENTS})
  313.     foreach(__cvdep ${OpenCV_${__cvlib}_DEPS_${__opttype}})
  314.       if(__cvdep MATCHES "^opencv_")
  315.         list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}${OpenCV_LIB_SUFFIX}")
  316.         #indicate that this module is also found
  317.         string(TOUPPER "${__cvdep}" __cvdep)
  318.         set(${__cvdep}_FOUND 1)
  319.       elseif(EXISTS "${OpenCV_3RDPARTY_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}")
  320.         list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_3RDPARTY_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}")
  321.       endif()
  322.     endforeach()
  323.     list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_LIB_DIR_${__opttype}}/${OpenCV_${__cvlib}_LIBNAME_${__opttype}}${OpenCV_LIB_SUFFIX}")
  324.     list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${OpenCV_${__cvlib}_EXTRA_DEPS_${__opttype}})
  325.   endforeach()
  326.  
  327.   if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)
  328.     if(OpenCV_LIBS_${__opttype})
  329.       list(REMOVE_DUPLICATES OpenCV_LIBS_${__opttype})
  330.     endif()
  331.     if(OpenCV_EXTRA_LIBS_${__opttype})
  332.       list(REMOVE_DUPLICATES OpenCV_EXTRA_LIBS_${__opttype})
  333.     endif()
  334.   else()
  335.     #TODO: duplicates are annoying but they should not be the problem
  336.   endif()
  337.  
  338.   # CUDA
  339.   if(OpenCV_CUDA_VERSION AND (CMAKE_CROSSCOMPILING OR (WIN32 AND NOT OpenCV_SHARED)))
  340.     if(NOT CUDA_FOUND)
  341.       find_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED)
  342.     else()
  343.       if(NOT CUDA_VERSION_STRING VERSION_EQUAL OpenCV_CUDA_VERSION)
  344.         message(FATAL_ERROR "OpenCV static library was compiled with CUDA ${OpenCV_CUDA_VERSION} support. Please, use the same version or rebuild OpenCV with CUDA ${CUDA_VERSION_STRING}")
  345.       endif()
  346.     endif()
  347.  
  348.     list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
  349.  
  350.     if(OpenCV_USE_CUBLAS)
  351.       list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUBLAS_LIBRARIES})
  352.     endif()
  353.  
  354.     if(OpenCV_USE_CUFFT)
  355.       list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUFFT_LIBRARIES})
  356.     endif()
  357.  
  358.     if(OpenCV_USE_NVCUVID)
  359.       list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_nvcuvid_LIBRARIES})
  360.     endif()
  361.  
  362.     if(WIN32)
  363.       list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_nvcuvenc_LIBRARIES})
  364.     endif()
  365.   endif()
  366. endforeach()
  367.  
  368. if(OpenCV_LIBS_DBG)
  369.   list(REVERSE OpenCV_LIBS_DBG)
  370. endif()
  371.  
  372. if(OpenCV_LIBS_OPT)
  373.   list(REVERSE OpenCV_LIBS_OPT)
  374. endif()
  375.  
  376. # CMake>=2.6 supports the notation "debug XXd optimized XX"
  377. if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4)
  378.   # Modern CMake:
  379.   SET(OpenCV_LIBS "")
  380.   foreach(__cvlib ${OpenCV_LIBS_DBG} ${OpenCV_EXTRA_LIBS_DBG})
  381.     list(APPEND OpenCV_LIBS debug "${__cvlib}")
  382.   endforeach()
  383.   foreach(__cvlib ${OpenCV_LIBS_OPT} ${OpenCV_EXTRA_LIBS_OPT})
  384.     list(APPEND OpenCV_LIBS optimized "${__cvlib}")
  385.   endforeach()
  386. else()
  387.   # Old CMake:
  388.   if(CMAKE_BUILD_TYPE MATCHES "Debug")
  389.     SET(OpenCV_LIBS ${OpenCV_LIBS_DBG} ${OpenCV_EXTRA_LIBS_DBG})
  390.   else()
  391.     SET(OpenCV_LIBS ${OpenCV_LIBS_OPT} ${OpenCV_EXTRA_LIBS_OPT})
  392.   endif()
  393. endif()
  394.  
  395. # ==============================================================
  396. #  Android camera helper macro
  397. # ==============================================================
  398. if(OpenCV_HAVE_ANDROID_CAMERA)
  399.   macro(COPY_NATIVE_CAMERA_LIBS target)
  400.     get_target_property(target_location ${target} LOCATION)
  401.     get_filename_component(target_location "${target_location}" PATH)
  402.     file(GLOB camera_wrappers "${OpenCV_LIB_DIR_OPT}/libnative_camera_r*.so")
  403.     foreach(wrapper ${camera_wrappers})
  404.       add_custom_command(
  405.         TARGET ${target}
  406.         POST_BUILD
  407.         COMMAND ${CMAKE_COMMAND} -E copy "${wrapper}" "${target_location}"
  408.       )
  409.     endforeach()
  410.   endmacro()
  411. endif()
  412.  
  413. # ==============================================================
  414. # Compatibility stuff
  415. # ==============================================================
  416. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  417.   SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_DBG} ${OpenCV_3RDPARTY_LIB_DIR_DBG})
  418. else()
  419.   SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_OPT} ${OpenCV_3RDPARTY_LIB_DIR_OPT})
  420. endif()
  421. set(OpenCV_LIBRARIES ${OpenCV_LIBS})
  422.  
  423. if(CMAKE_CROSSCOMPILING AND OpenCV_SHARED AND (CMAKE_SYSTEM_NAME MATCHES "Linux"))
  424.   foreach(dir ${OpenCV_LIB_DIR})
  425.     set(CMAKE_EXE_LINKER_FLAGS    "${CMAKE_EXE_LINKER_FLAGS}    -Wl,-rpath-link,${dir}")
  426.     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath-link,${dir}")
  427.     set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-rpath-link,${dir}")
  428.   endforeach()
  429. endif()
');