mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
8.7 KiB
189 lines
8.7 KiB
# =================================================================================== |
|
# The OpenCV CMake configuration file |
|
# |
|
# ** File generated automatically, do not modify ** |
|
# |
|
# Usage from an external project: |
|
# In your CMakeLists.txt, add these lines: |
|
# |
|
# FIND_PACKAGE(OpenCV REQUIRED ) |
|
# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS}) |
|
# |
|
# This file will define the following variables: |
|
# - OpenCV_LIBS : The list of libraries to links against. |
|
# - OpenCV_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES |
|
# with this path is NOT needed. |
|
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories. |
|
# - OpenCV_COMPUTE_CAPABILITIES : The version of compute capability |
|
# - OpenCV_VERSION : The version of this OpenCV build. Example: "@OPENCV_VERSION@" |
|
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_MAJOR@" |
|
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_MINOR@" |
|
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_PATCH@" |
|
# |
|
# Advanced variables: |
|
# - OpenCV_SHARED |
|
# - OpenCV_CONFIG_PATH |
|
# - OpenCV_INSTALL_PATH |
|
# - OpenCV_LIB_COMPONENTS |
|
# - OpenCV_EXTRA_COMPONENTS |
|
# - OpenCV_USE_MANGLED_PATHS |
|
# - OpenCV_HAVE_ANDROID_CAMERA |
|
# |
|
# ================================================================================================= |
|
|
|
# ====================================================== |
|
# Version Compute Capability from which library OpenCV |
|
# has been compiled is remembered |
|
# ====================================================== |
|
SET(OpenCV_COMPUTE_CAPABILITIES @OpenCV_CUDA_CC@) |
|
|
|
# Some additional settings are required if OpenCV is built as static libs |
|
set(OpenCV_SHARED @BUILD_SHARED_LIBS@) |
|
|
|
# Enables mangled install paths, that help with side by side installs |
|
set(OpenCV_USE_MANGLED_PATHS @OPENCV_MANGLED_INSTALL_PATHS@) |
|
|
|
# Extract the directory where *this* file has been installed (determined at cmake run-time) |
|
get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH) |
|
|
|
# Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings |
|
get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../.." REALPATH) |
|
|
|
# Presence of Android native camera support |
|
set (OpenCV_HAVE_ANDROID_CAMERA @WITH_ANDROID_CAMERA@) |
|
|
|
# ====================================================== |
|
# Include directories to add to the user project: |
|
# ====================================================== |
|
|
|
# Provide the include directories to the caller |
|
SET(OpenCV_INCLUDE_DIRS @CMAKE_INCLUDE_DIRS_CONFIGCMAKE@) |
|
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}) |
|
|
|
# ====================================================== |
|
# Link directories to add to the user project: |
|
# ====================================================== |
|
|
|
# Provide the libs directory anyway, it may be needed in some cases. |
|
SET(OpenCV_LIB_DIR @CMAKE_LIB_DIRS_CONFIGCMAKE@) |
|
LINK_DIRECTORIES(${OpenCV_LIB_DIR}) |
|
|
|
# ==================================================================== |
|
# Link libraries: e.g. libopencv_core.so, opencv_imgproc220d.lib, etc... |
|
# ==================================================================== |
|
|
|
# OpenCV internal dependencies: |
|
# opencv_androidcamera -> {} |
|
# opencv_core -> {} |
|
# opencv_flann -> {opencv_core} |
|
# opencv_imgproc -> {opencv_core} |
|
# opencv_ml -> {opencv_core} |
|
# opencv_highgui -> {opencv_core, opencv_imgproc, opencv_androidcamera} |
|
# opencv_video -> {opencv_core, opencv_imgproc} |
|
# opencv_features2d -> {opencv_core, opencv_imgproc, opencv_flann, opencv_highgui} |
|
# opencv_calib3d -> {opencv_core, opencv_imgproc, opencv_flann, opencv_features2d} |
|
# opencv_objdetect -> {opencv_core, opencv_imgproc, opencv_flann, opencv_highgui, opencv_features2d, opencv_calib3d} |
|
# opencv_gpu -> {opencv_core, opencv_imgproc, opencv_flann, opencv_features2d, opencv_calib3d, opencv_objdetect} |
|
# opencv_stitching -> {opencv_core, opencv_imgproc, opencv_flann, opencv_features2d, opencv_calib3d, opencv_objdetect, opencv_gpu} |
|
# opencv_legacy -> {opencv_core, opencv_imgproc, opencv_flann, opencv_highgui, opencv_features2d, opencv_calib3d, opencv_video} |
|
# opencv_contrib -> {opencv_core, opencv_imgproc, opencv_flann, opencv_highgui, opencv_features2d, opencv_calib3d, opencv_objdetect, opencv_video, opencv_ml} |
|
|
|
SET(OpenCV_LIB_COMPONENTS opencv_contrib opencv_legacy opencv_stitching opencv_gpu opencv_objdetect opencv_calib3d opencv_features2d opencv_video opencv_highgui opencv_ml opencv_imgproc opencv_flann opencv_core opencv_androidcamera) |
|
|
|
# remove modules unavailable on current platform: |
|
if(ANDROID) |
|
LIST(REMOVE_ITEM OpenCV_LIB_COMPONENTS opencv_gpu) |
|
endif() |
|
if(NOT ANDROID OR OpenCV_SHARED OR NOT OpenCV_HAVE_ANDROID_CAMERA) |
|
LIST(REMOVE_ITEM OpenCV_LIB_COMPONENTS opencv_androidcamera) |
|
endif() |
|
|
|
if(OpenCV_USE_MANGLED_PATHS) |
|
#be explicit about the library names. |
|
set(OpenCV_LIB_COMPONENTS_ ) |
|
foreach( CVLib ${OpenCV_LIB_COMPONENTS}) |
|
list(APPEND OpenCV_LIB_COMPONENTS_ ${OpenCV_LIB_DIR}/lib${CVLib}.so.@OPENCV_VERSION@ ) |
|
endforeach() |
|
set(OpenCV_LIB_COMPONENTS ${OpenCV_LIB_COMPONENTS_}) |
|
endif() |
|
|
|
SET(OpenCV_LIBS "") |
|
if(WIN32) |
|
foreach(__CVLIB ${OpenCV_LIB_COMPONENTS}) |
|
# CMake>=2.6 supports the notation "debug XXd optimized XX" |
|
if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4) |
|
# Modern CMake: |
|
SET(OpenCV_LIBS ${OpenCV_LIBS} debug ${__CVLIB}@OPENCV_DLLVERSION@@OPENCV_DEBUG_POSTFIX@ optimized ${__CVLIB}@OPENCV_DLLVERSION@) |
|
else() |
|
# Old CMake: |
|
SET(OpenCV_LIBS ${OpenCV_LIBS} ${__CVLIB}@OPENCV_DLLVERSION@) |
|
endif() |
|
endforeach() |
|
else() |
|
foreach(__CVLIB ${OpenCV_LIB_COMPONENTS}) |
|
SET(OpenCV_LIBS ${OpenCV_LIBS} ${__CVLIB}) |
|
endforeach() |
|
endif() |
|
|
|
# ============================================================== |
|
# Extra include directories, needed by OpenCV 2 new structure |
|
# ============================================================== |
|
if(NOT "@CMAKE_OPENCV2_INCLUDE_DIRS_CONFIGCMAKE@" STREQUAL "") |
|
foreach(__CVLIB ${OpenCV_LIB_COMPONENTS}) |
|
# We only need the "core",... part here: "opencv_core" -> "core" |
|
STRING(REGEX REPLACE "opencv_(.*)" "\\1" __MODNAME ${__CVLIB}) |
|
INCLUDE_DIRECTORIES("@CMAKE_OPENCV2_INCLUDE_DIRS_CONFIGCMAKE@/modules/${__MODNAME}/include") |
|
endforeach() |
|
endif() |
|
|
|
# For OpenCV built as static libs, we need the user to link against |
|
# many more dependencies: |
|
IF (NOT OpenCV_SHARED) |
|
# Under static libs, the user of OpenCV needs access to the 3rdparty libs as well: |
|
LINK_DIRECTORIES(@CMAKE_3RDPARTY_LIB_DIRS_CONFIGCMAKE@) |
|
|
|
set(OpenCV_LIBS @OPENCV_LINKER_LIBS@ @IPP_LIBS@ @HIGHGUI_LIBRARIES@ ${OpenCV_LIBS}) |
|
set(OpenCV_EXTRA_COMPONENTS @JPEG_LIBRARIES@ @PNG_LIBRARIES@ @TIFF_LIBRARIES@ @JASPER_LIBRARIES@ @ZLIB_LIBRARY@) |
|
|
|
if (WIN32 AND ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 2.4) |
|
# Modern CMake: |
|
foreach(__EXTRA_LIB ${OpenCV_EXTRA_COMPONENTS}) |
|
set(OpenCV_LIBS ${OpenCV_LIBS} |
|
debug ${__EXTRA_LIB}@OPENCV_DEBUG_POSTFIX@ |
|
optimized ${__EXTRA_LIB}) |
|
endforeach() |
|
else() |
|
# Old CMake: |
|
set(OpenCV_LIBS ${OpenCV_LIBS} ${OpenCV_EXTRA_COMPONENTS}) |
|
endif() |
|
|
|
if (APPLE) |
|
set(OpenCV_LIBS ${OpenCV_LIBS} "-lbz2" "-framework Cocoa" "-framework QuartzCore" "-framework QTKit") |
|
endif() |
|
ENDIF() |
|
|
|
# ====================================================== |
|
# Android camera helper macro |
|
# ====================================================== |
|
IF (OpenCV_HAVE_ANDROID_CAMERA) |
|
macro( COPY_NATIVE_CAMERA_LIBS target ) |
|
get_target_property(target_location ${target} LOCATION) |
|
get_filename_component(target_location "${target_location}" PATH) |
|
file(GLOB camera_wrappers "${OpenCV_LIB_DIR}/libnative_camera_r*.so") |
|
foreach(wrapper ${camera_wrappers}) |
|
ADD_CUSTOM_COMMAND( |
|
TARGET ${target} |
|
POST_BUILD |
|
COMMAND ${CMAKE_COMMAND} -E copy "${wrapper}" "${target_location}" |
|
) |
|
endforeach() |
|
endmacro() |
|
ENDIF() |
|
|
|
# ====================================================== |
|
# Version variables: |
|
# ====================================================== |
|
SET(OpenCV_VERSION @OPENCV_VERSION@) |
|
SET(OpenCV_VERSION_MAJOR @OPENCV_VERSION_MAJOR@) |
|
SET(OpenCV_VERSION_MINOR @OPENCV_VERSION_MINOR@) |
|
SET(OpenCV_VERSION_PATCH @OPENCV_VERSION_PATCH@)
|
|
|