| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- # Filename: FindOpenCV.cmake
- # Authors: CFSworks (3 Nov, 2018)
- #
- # Usage:
- # find_package(OpenCV [REQUIRED] [QUIET])
- #
- # This supports the following components:
- # calib3d
- # contrib
- # core
- # features2d
- # flann
- # gpu
- # highgui
- # imgproc
- # legacy
- # ml
- # nonfree
- # objdetect
- # photo
- # stitching
- # superres
- # video
- # videoio
- # videostab
- #
- # Once done this will define:
- # OPENCV_FOUND - system has OpenCV
- # OpenCV_INCLUDE_DIRS - the include dir(s) containing OpenCV header files
- # OpenCV_comp_LIBRARY - the path to the OpenCV library for the particular
- # component
- # OpenCV_LIBS - the paths to the OpenCV libraries for the requested
- # component(s)
- # OpenCV_VERSION_MAJOR- a "best guess" of the major version (X.x)
- # OpenCV_VERSION_MINOR- a "best guess" of the minor version (x.X)
- #
- set(OpenCV_INCLUDE_DIRS)
- find_path(OpenCV_V1_INCLUDE_DIR
- NAMES "cv.h"
- PATH_SUFFIXES "opencv")
- mark_as_advanced(OpenCV_V1_INCLUDE_DIR)
- if(OpenCV_V1_INCLUDE_DIR)
- list(APPEND OpenCV_INCLUDE_DIRS "${OpenCV_V1_INCLUDE_DIR}")
- # This is a wild guess:
- set(OpenCV_VERSION_MAJOR 1)
- set(OpenCV_VERSION_MINOR 0)
- endif()
- find_path(OpenCV_V2_INCLUDE_DIR "opencv2/core/version.hpp")
- mark_as_advanced(OpenCV_V2_INCLUDE_DIR)
- if(OpenCV_V2_INCLUDE_DIR)
- list(APPEND OpenCV_INCLUDE_DIRS "${OpenCV_V2_INCLUDE_DIR}")
- file(STRINGS "${OpenCV_V2_INCLUDE_DIR}/opencv2/core/version.hpp"
- _version_major REGEX "#define CV_VERSION_EPOCH")
- file(STRINGS "${OpenCV_V2_INCLUDE_DIR}/opencv2/core/version.hpp"
- _version_minor REGEX "#define CV_VERSION_MAJOR")
- string(REGEX REPLACE "[^0-9]" "" OpenCV_VERSION_MAJOR "${_version_major}")
- string(REGEX REPLACE "[^0-9]" "" OpenCV_VERSION_MINOR "${_version_minor}")
- unset(_version_major)
- unset(_version_minor)
- endif()
- set(OpenCV_LIBS)
- foreach(_component calib3d contrib core features2d flann gpu highgui imgproc
- legacy ml nonfree objdetect photo stitching superres video
- videoio videostab)
- list(FIND OpenCV_FIND_COMPONENTS "${_component}" _index)
- if(_index GREATER -1 OR _component STREQUAL "core")
- if(NOT OpenCV_${_component}_LIBRARY)
- find_library(OpenCV_${_component}_LIBRARY
- NAMES "opencv_${_component}")
- endif()
- if(OpenCV_${_component}_LIBRARY)
- list(APPEND OpenCV_LIBS "${OpenCV_${_component}_LIBRARY}")
- set(OpenCV_${_component}_FOUND ON)
- endif()
- endif()
- unset(_index)
- endforeach(_component)
- unset(_component)
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(OpenCV HANDLE_COMPONENTS
- REQUIRED_VARS OpenCV_INCLUDE_DIRS OpenCV_LIBS
- OpenCV_VERSION_MAJOR OpenCV_VERSION_MINOR)
|