@ -59,6 +59,14 @@ project(OpenCV CXX C)
include ( cmake/OpenCVUtils.cmake REQUIRED )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# B r e a k i n c a s e o f p o p u l a r C M a k e c o n f i g u r a t i o n m i s t a k e s
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if ( NOT CMAKE_SIZEOF_VOID_P GREATER 0 )
message ( FATAL_ERROR " CMake fails to deterimine the bitness of target platform.
P l e a s e c h e c k y o u r C M a k e a n d c o m p i l e r i n s t a l l a t i o n . I f y o u a r e c r o s s c o m p i l i n g t h e n e n s u r e t h a t y o u r C M a k e t o o l c h a i n f i l e c o r r e c t l y s e t s t h e c o m p i l e r d e t a i l s . " )
endif ( )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# D e t e c t c o m p i l e r a n d t a r g e t p l a t f o r m a r c h i t e c t u r e
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -109,6 +117,7 @@ OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
OCV_OPTION ( WITH_FFMPEG "Include FFMPEG support" ON IF ( NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_GSTREAMER "Include Gstreamer support" ON IF ( UNIX AND NOT APPLE AND NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_GTK "Include GTK support" ON IF ( UNIX AND NOT APPLE AND NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_IMAGEIO "ImageIO support for OS X" OFF IF APPLE )
OCV_OPTION ( WITH_IPP "Include Intel IPP support" OFF IF ( MSVC OR X86 OR X86_64 ) )
OCV_OPTION ( WITH_JASPER "Include JPEG2K support" ON IF ( NOT IOS ) )
OCV_OPTION ( WITH_JPEG "Include JPEG support" ON IF ( NOT IOS ) )
@ -116,7 +125,7 @@ OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" ON
OCV_OPTION ( WITH_OPENGL "Include OpenGL support" OFF IF ( NOT ANDROID AND NOT IOS AND NOT APPLE ) )
OCV_OPTION ( WITH_OPENNI "Include OpenNI support" OFF IF ( NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_PNG "Include PNG support" ON IF ( NOT IOS ) )
OCV_OPTION ( WITH_PVAPI "Include Prosilica GigE support" ON IF ( UNIX AND NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_PVAPI "Include Prosilica GigE support" ON IF ( NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_QT "Build with Qt Backend support" OFF IF ( NOT ANDROID AND NOT IOS ) )
OCV_OPTION ( WITH_QUICKTIME "Use QuickTime for Video I/O insted of QTKit" OFF IF APPLE )
OCV_OPTION ( WITH_TBB "Include Intel TBB support" OFF IF ( NOT IOS ) )
@ -302,144 +311,186 @@ if(UNIX)
include ( cmake/OpenCVFindPkgConfig.cmake OPTIONAL )
include ( CheckFunctionExists )
include ( CheckIncludeFile )
if ( NOT APPLE )
CHECK_INCLUDE_FILE ( alloca.h HAVE_ALLOCA_H )
CHECK_FUNCTION_EXISTS ( alloca HAVE_ALLOCA )
CHECK_INCLUDE_FILE ( unistd.h HAVE_UNISTD_H )
CHECK_INCLUDE_FILE ( pthread.h HAVE_LIBPTHREAD )
if ( ANDROID )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } dl m log )
elseif ( ${ CMAKE_SYSTEM_NAME } MATCHES "FreeBSD" OR ${ CMAKE_SYSTEM_NAME } MATCHES "NetBSD" )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } m pthread )
else ( )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } dl m pthread rt )
endif ( )
else ( )
add_definitions ( -DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H )
endif ( )
endif ( )
include ( cmake/OpenCVPCHSupport.cmake REQUIRED )
include ( cmake/OpenCVModule.cmake REQUIRED )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# D e t e c t 3 r d - p a r t y t o o l s a n d l i b r a r i e s
# D e t e c t 3 r d - p a r t y i m a g e I O l i b r a r i e s
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# I O l i b r a r i e s
include ( cmake/OpenCVIOLibs.cmake REQUIRED )
# G r a p h i c l i b r a r i e s
set ( HAVE_OPENGL 0 )
if ( UNIX )
if ( NOT APPLE )
if ( WITH_GTK )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# D e t e c t 3 r d - p a r t y G U I l i b r a r i e s
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - Q T 4 - - -
ocv_clear_vars ( HAVE_QT )
if ( WITH_QT )
find_package ( Qt4 )
if ( QT4_FOUND )
set ( HAVE_QT TRUE )
add_definitions ( -DHAVE_QT ) # W e n e e d t o d e f i n e t e m a c r o t h i s w a y , u s i n g c v c o n f i g . h . c m a k e d o e s n o t w o r k
endif ( )
endif ( )
# - - - G T K - - -
ocv_clear_vars ( HAVE_GTK HAVE_GTHREAD HAVE_GTKGLEXT )
if ( WITH_GTK AND NOT HAVE_QT )
CHECK_MODULE ( gtk+-2.0 HAVE_GTK )
CHECK_MODULE ( gthread-2.0 HAVE_GTHREAD )
if ( WITH_OPENGL )
CHECK_MODULE ( gtkglext-1.0 HAVE_GTKGLEXT )
if ( HAVE_GTKGLEXT )
find_package ( OpenGL QUIET )
endif ( )
endif ( )
# - - - O p e n G l - - -
ocv_clear_vars ( HAVE_OPENGL HAVE_QT_OPENGL )
if ( WITH_OPENGL )
if ( WIN32 OR QT_QTOPENGL_FOUND OR HAVE_GTKGLEXT )
find_package ( OpenGL QUIET )
if ( OPENGL_FOUND )
set ( HAVE_OPENGL 1 )
set ( HAVE_OPENGL TRUE )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ OPENGL_LIBRARIES } )
if ( QT_QTOPENGL_FOUND )
set ( HAVE_QT_OPENGL TRUE )
add_definitions ( -DHAVE_QT_OPENGL )
else ( )
ocv_include_directories ( ${ OPENGL_INCLUDE_DIR } )
endif ( )
endif ( )
endif ( )
else ( )
set ( HAVE_GTK FALSE )
set ( HAVE_GTHREAD FALSE )
endif ( )
if ( WITH_GSTREAMER )
endif ( WITH_OPENGL )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# D e t e c t 3 r d - p a r t y v i d e o I O l i b r a r i e s
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - G S t r e a m e r - - -
ocv_clear_vars ( HAVE_GSTREAMER )
if ( WITH_GSTREAMER )
CHECK_MODULE ( gstreamer-base-0.10 HAVE_GSTREAMER )
if ( HAVE_GSTREAMER )
CHECK_MODULE ( gstreamer-app-0.10 HAVE_GSTREAMER )
CHECK_MODULE ( gstreamer-video-0.10 HAVE_GSTREAMER )
else ( )
set ( HAVE_GSTREAMER FALSE )
endif ( )
if ( HAVE_GSTREAMER )
CHECK_MODULE ( gstreamer-video-0.10 HAVE_GSTREAMER )
endif ( )
endif ( WITH_GSTREAMER )
if ( WITH_UNICAP )
# - - - u n i c a p - - -
ocv_clear_vars ( HAVE_UNICAP )
if ( WITH_UNICAP )
CHECK_MODULE ( libunicap HAVE_UNICAP_ )
CHECK_MODULE ( libucil HAVE_UNICAP_UCIL )
if ( HAVE_UNICAP_ AND HAVE_UNICAP_UCIL )
set ( HAVE_UNICAP 1 )
endif ( )
else ( )
set ( HAVE_UNICAP FALSE )
set ( HAVE_UNICAP TRUE )
endif ( )
endif ( WITH_UNICAP )
if ( WITH_PVAPI )
# - - - P v A p i - - -
ocv_clear_vars ( HAVE_PVAPI )
if ( WITH_PVAPI )
find_path ( PVAPI_INCLUDE_PATH "PvApi.h"
P A T H S " / u s r / l o c a l / i n c l u d e " " / u s r / i n c l u d e "
D O C " T h e p a t h t o P v A P I h e a d e r " )
if ( PVAPI_INCLUDE_PATH )
set ( HAVE_PVAPI 1 )
set ( HAVE_PVAPI TRUE )
endif ( )
endif ( WITH_PVAPI )
# - - - D c 1 3 9 4 - - -
ocv_clear_vars ( HAVE_DC1394 HAVE_DC1394_2 )
if ( WITH_1394 )
CHECK_MODULE ( libdc1394-2 HAVE_DC1394_2 )
if ( NOT HAVE_DC1394_2 )
CHECK_MODULE ( libdc1394 HAVE_DC1394 )
endif ( )
endif ( WITH_1394 )
# - - - x i n e - - -
ocv_clear_vars ( HAVE_XINE )
if ( WITH_XINE )
CHECK_MODULE ( libxine HAVE_XINE )
endif ( WITH_XINE )
# - - - V 4 L - - -
ocv_clear_vars ( HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2 )
if ( WITH_V4L )
CHECK_MODULE ( libv4l1 HAVE_LIBV4L )
CHECK_INCLUDE_FILE ( linux/videodev.h HAVE_CAMV4L )
CHECK_INCLUDE_FILE ( linux/videodev2.h HAVE_CAMV4L2 )
endif ( WITH_V4L )
# - - - O p e n N I - - -
ocv_clear_vars ( HAVE_OPENNI HAVE_OPENNI_PRIME_SENSOR_MODULE )
if ( WITH_OPENNI )
include ( cmake/OpenCVFindOpenNI.cmake )
endif ( WITH_OPENNI )
# - - - X I M E A - - -
ocv_clear_vars ( HAVE_XIMEA )
if ( WITH_XIMEA )
include ( cmake/OpenCVFindXimea.cmake )
if ( XIMEA_FOUND )
set ( HAVE_XIMEA TRUE )
endif ( )
endif ( WITH_XIMEA )
set ( HAVE_FFMPEG 0 )
if ( WITH_FFMPEG )
# - - - F F M P E G - - -
ocv_clear_vars ( HAVE_FFMPEG HAVE_FFMPEG_CODEC HAVE_FFMPEG_FORMAT HAVE_FFMPEG_UTIL HAVE_FFMPEG_SWSCALE HAVE_GENTOO_FFMPEG HAVE_FFMPEG_FFMPEG )
if ( WITH_FFMPEG )
if ( WIN32 )
include ( 3rdparty/ffmpeg/ffmpeg_version.cmake REQUIRED )
elseif ( UNIX )
CHECK_MODULE ( libavcodec HAVE_FFMPEG_CODEC )
CHECK_MODULE ( libavformat HAVE_FFMPEG_FORMAT )
CHECK_MODULE ( libavutil HAVE_FFMPEG_UTIL )
CHECK_MODULE ( libswscale HAVE_FFMPEG_SWSCALE )
CHECK_INCLUDE_FILE ( libavformat/avformat.h HAVE_GENTOO_FFMPEG )
CHECK_INCLUDE_FILE ( ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG )
if ( NOT HAVE_GENTOO_FFMPEG AND NOT HAVE_FFMPEG_FFMPEG )
if ( EXISTS /usr/include/ffmpeg/libavformat/avformat.h OR HAVE_FFMPEG_SWSCALE )
set ( HAVE_GENTOO_FFMPEG 1 )
endif ( )
set ( HAVE_GENTOO_FFMPEG TRUE )
endif ( )
if ( HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL )
if ( HAVE_FFMPEG_SWSCALE )
set ( HAVE_FFMPEG 1 )
endif ( )
if ( HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL AND HAVE_FFMPEG_SWSCALE )
set ( HAVE_FFMPEG TRUE )
endif ( )
if ( HAVE_FFMPEG )
# F i n d t h e b z i p 2 l i b r a r y b e c a u s e i t i s r e q u i r e d o n s o m e s y s t e m s
FIND_LIBRARY ( BZIP2_LIBRARIES NAMES bz2 bzip2 )
if ( NOT BZIP2_LIBRARIES )
# D o a n o t h e r t r i a l
FIND_FILE ( BZIP2_LIBRARIES NAMES libbz2.so.1 PATHS /lib )
endif ( )
endif ( HAVE_FFMPEG )
endif ( )
if ( WITH_1394 )
CHECK_MODULE ( libdc1394-2 HAVE_DC1394_2 )
if ( NOT HAVE_DC1394_2 )
CHECK_MODULE ( libdc1394 HAVE_DC1394 )
endif ( )
else ( )
set ( HAVE_DC1394_2 FALSE )
set ( HAVE_DC1394 FALSE )
endif ( )
if ( NOT APPLE )
CHECK_INCLUDE_FILE ( alloca.h HAVE_ALLOCA_H )
CHECK_FUNCTION_EXISTS ( alloca HAVE_ALLOCA )
CHECK_INCLUDE_FILE ( unistd.h HAVE_UNISTD_H )
CHECK_INCLUDE_FILE ( pthread.h HAVE_LIBPTHREAD )
if ( WITH_XINE )
CHECK_MODULE ( libxine HAVE_XINE )
else ( )
set ( HAVE_XINE FALSE )
endif ( )
if ( WITH_V4L )
CHECK_MODULE ( libv4l1 HAVE_LIBV4L )
CHECK_INCLUDE_FILE ( linux/videodev.h HAVE_CAMV4L )
CHECK_INCLUDE_FILE ( linux/videodev2.h HAVE_CAMV4L2 )
else ( )
set ( HAVE_LIBV4L FALSE )
set ( HAVE_CAMV4L FALSE )
set ( HAVE_CAMV4L2 FALSE )
endif ( )
if ( ANDROID )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } dl m log )
elseif ( ${ CMAKE_SYSTEM_NAME } MATCHES "FreeBSD" OR ${ CMAKE_SYSTEM_NAME } MATCHES "NetBSD" )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } m pthread )
else ( )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } dl m pthread rt )
endif ( )
else ( )
add_definitions ( -DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H )
endif ( )
endif ( )
if ( APPLE AND WITH_FFMPEG )
set ( FFMPEG_DEFAULT_INCLUDE_DIRS "/usr/local/include/" "/usr/include/" "opt/include/" )
find_path ( FFMPEG_INCLUDE_DIR "libavformat/avformat.h" PATHS ${ FFMPEG_DEFAULT_INCLUDE_DIRS } DOC "The path to FFMPEG headers" )
if ( APPLE )
find_path ( FFMPEG_INCLUDE_DIR "libavformat/avformat.h"
P A T H S / u s r / l o c a l / u s r / o p t
P A T H _ S U F F I X E S i n c l u d e
D O C " T h e p a t h t o F F M P E G h e a d e r s " )
if ( FFMPEG_INCLUDE_DIR )
set ( HAVE_GENTOO_FFMPEG 1 )
set ( HAVE_GENTOO_FFMPEG TRUE )
set ( FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory" )
if ( EXISTS "${FFMPEG_LIB_DIR}/libavcodec.a" )
set ( HAVE_FFMPEG_CODEC 1 )
@ -451,155 +502,103 @@ if(APPLE AND WITH_FFMPEG)
set ( HAVE_FFMPEG_UTIL 1 )
set ( ALIASOF_libavutil_VERSION "Unknown" )
if ( EXISTS "${FFMPEG_LIB_DIR}/libswscale.a" )
ocv_include_directories ( ${ FFMPEG_INCLUDE_DIR } )
set ( HAVE_FFMPEG_SWSCALE 1 )
set ( ALIASOF_libswscale_VERSION "Unknown" )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } "${FFMPEG_LIB_DIR}/libavcodec.a"
" $ { F F M P E G _ L I B _ D I R } / l i b a v f o r m a t . a " " $ { F F M P E G _ L I B _ D I R } / l i b a v u t i l . a "
" $ { F F M P E G _ L I B _ D I R } / l i b s w s c a l e . a " )
set ( HAVE_FFMPEG 1 )
endif ( )
endif ( )
endif ( )
endif ( )
endif ( FFMPEG_INCLUDE_DIR )
if ( HAVE_FFMPEG )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } "${FFMPEG_LIB_DIR}/libavcodec.a"
" $ { F F M P E G _ L I B _ D I R } / l i b a v f o r m a t . a " " $ { F F M P E G _ L I B _ D I R } / l i b a v u t i l . a "
" $ { F F M P E G _ L I B _ D I R } / l i b s w s c a l e . a " )
ocv_include_directories ( ${ FFMPEG_INCLUDE_DIR } )
endif ( )
endif ( )
if ( WIN32 AND WITH_FFMPEG )
include ( 3rdparty/ffmpeg/ffmpeg_version.cmake REQUIRED )
endif ( )
# # # # # # # # # # # # # # # # # # # # L A T E X f o r d p f d o c u m e n t a t i o n # # # # # # # # # # # # # # # # # #
if ( BUILD_DOCS )
include ( cmake/OpenCVFindLATEX.cmake REQUIRED )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # P y t h o n S u p p o r t # # # # # # # # # # # # # # # # # # # # # # # # #
include ( cmake/OpenCVDetectPython.cmake REQUIRED )
endif ( APPLE )
endif ( WITH_FFMPEG )
# # # # # # # # # # # # # # # # # # # # # # # # # # # J a v a S u p p o r t # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( ANDROID )
include ( cmake/OpenCVDetectApacheAnt.cmake REQUIRED )
include ( cmake/OpenCVDetectAndroidSDK.cmake REQUIRED )
# - - - V i d e o I n p u t - - -
if ( WITH_VIDEOINPUT )
# a l w a y s h a v e V i d e o I n p u t o n W i n d o w s
set ( HAVE_VIDEOINPUT 1 )
endif ( WITH_VIDEOINPUT )
if ( NOT ANDROID_TOOLS_Pkg_Revision GREATER 13 )
message ( WARNING "OpenCV requires Android SDK tools revision 14 or newer. Otherwise tests and samples will no be compiled." )
# - - - E x t r a H i g h G U I l i b s o n W i n d o w s - - -
if ( WIN32 )
list ( APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 )
if ( MSVC )
list ( APPEND HIGHGUI_LIBRARIES vfw32 )
elseif ( MINGW64 )
list ( APPEND HIGHGUI_LIBRARIES msvfw32 avifil32 avicap32 winmm )
elseif ( MINGW )
list ( APPEND HIGHGUI_LIBRARIES vfw32 winmm )
endif ( )
endif ( )
endif ( WIN32 )
if ( ANDROID AND ANDROID_EXECUTABLE AND ANT_EXECUTABLE AND ( ANT_VERSION VERSION_GREATER 1.7 ) AND ( ANDROID_TOOLS_Pkg_Revision GREATER 13 ) )
SET ( CAN_BUILD_ANDROID_PROJECTS TRUE )
else ( )
SET ( CAN_BUILD_ANDROID_PROJECTS FALSE )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Q T # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( HAVE_QT 0 )
set ( HAVE_QT_OPENGL 0 )
if ( WITH_QT )
find_package ( Qt4 )
if ( QT4_FOUND )
set ( HAVE_QT 1 )
add_definitions ( -DHAVE_QT ) # W e n e e d t o d e f i n e t e m a c r o t h i s w a y , u s i n g c v c o n f i g . h . c m a k e d o e s n o t w o r k
if ( WITH_OPENGL )
find_package ( OpenGL QUIET )
if ( QT_QTOPENGL_FOUND AND OPENGL_FOUND )
set ( HAVE_OPENGL 1 )
set ( HAVE_QT_OPENGL 1 )
add_definitions ( -DHAVE_QT_OPENGL )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ OPENGL_LIBRARIES } )
endif ( )
endif ( )
endif ( )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T B B # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# D e t e c t o t h e r 3 r d - p a r t y l i b r a r i e s / t o o l s
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - T B B - - -
if ( WITH_TBB )
include ( cmake/OpenCVDetectTBB.cmake REQUIRED )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # I n t e l I P P # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( IPP_FOUND )
endif ( WITH_TBB )
# - - - I P P - - -
ocv_clear_vars ( IPP_FOUND )
if ( WITH_IPP )
include ( cmake/OpenCVFindIPP.cmake )
endif ( )
if ( IPP_FOUND )
if ( IPP_FOUND )
add_definitions ( -DHAVE_IPP )
ocv_include_directories ( ${ IPP_INCLUDE_DIRS } )
link_directories ( ${ IPP_LIBRARY_DIRS } )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ IPP_LIBRARIES } )
endif ( )
endif ( )
endif ( WITH_IPP )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C U D A # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# - - - C U D A - - -
if ( WITH_CUDA )
include ( cmake/OpenCVDetectCUDA.cmake REQUIRED )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # O p e n N I # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( HAVE_OPENNI FALSE )
set ( HAVE_OPENNI_PRIME_SENSOR_MODULE FALSE )
if ( WITH_OPENNI )
include ( cmake/OpenCVFindOpenNI.cmake )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # X I M E A # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( HAVE_XIMEA FALSE )
endif ( WITH_CUDA )
if ( WITH_XIMEA )
include ( cmake/OpenCVFindXimea.cmake )
endif ( )
if ( XIMEA_FOUND )
set ( HAVE_XIMEA TRUE )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # E i g e n # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# - - - E i g e n - - -
if ( WITH_EIGEN )
find_path ( EIGEN_INCLUDE_PATH "Eigen/Core"
P A T H S " / u s r / l o c a l / i n c l u d e / e i g e n 2 " " / o p t / i n c l u d e / e i g e n 2 " " / u s r / i n c l u d e / e i g e n 2 "
" / u s r / l o c a l / i n c l u d e / e i g e n 3 " " / o p t / i n c l u d e / e i g e n 3 " " / u s r / i n c l u d e / e i g e n 3 "
D O C " T h e p a t h t o E i g e n 2 / E i g e n 3 h e a d e r s " )
P A T H S / u s r / l o c a l / o p t / u s r E N V P r o g r a m F i l e s E N V P r o g r a m W 6 4 3 2
P A T H _ S U F F I X E S i n c l u d e / e i g e n 3 i n c l u d e / e i g e n 2 E i g e n / i n c l u d e / e i g e n 3 E i g e n / i n c l u d e / e i g e n 2
D O C " T h e p a t h t o E i g e n 3 / E i g e n 2 h e a d e r s " )
if ( EIGEN_INCLUDE_PATH )
ocv_include_directories ( ${ EIGEN_INCLUDE_PATH } )
ocv_parse_header ( "${EIGEN_INCLUDE_PATH}/Eigen/src/Core/util/Macros.h" EIGEN_VERSION_LINES EIGEN_WORLD_VERSION EIGEN_MAJOR_VERSION EIGEN_MINOR_VERSION )
set ( HAVE_EIGEN 1 )
endif ( )
endif ( )
endif ( WITH_EIGEN )
# # # # # # # # # # # # # # # # # # E x t r a H i g h G U I l i b s o n W i n d o w s # # # # # # # # # # # # # # # # # # #
if ( WIN32 )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } comctl32 gdi32 ole32 )
# - - - L A T E X f o r p d f d o c u m e n t a t i o n - - -
if ( BUILD_DOCS )
include ( cmake/OpenCVFindLATEX.cmake REQUIRED )
endif ( BUILD_DOCS )
if ( WITH_VIDEOINPUT )
set ( HAVE_VIDEOINPUT 1 )
endif ( )
# - - - P y t h o n S u p p o r t - - -
include ( cmake/OpenCVDetectPython.cmake REQUIRED )
if ( MSVC )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } vfw32 )
endif ( )
# - - - J a v a S u p p o r t - - -
if ( ANDROID )
include ( cmake/OpenCVDetectApacheAnt.cmake REQUIRED )
include ( cmake/OpenCVDetectAndroidSDK.cmake REQUIRED )
if ( MINGW )
if ( MINGW64 )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } msvfw32 avifil32 avicap32 winmm )
else ( )
set ( HIGHGUI_LIBRARIES ${ HIGHGUI_LIBRARIES } vfw32 winmm )
endif ( )
if ( NOT ANDROID_TOOLS_Pkg_Revision GREATER 13 )
message ( WARNING "OpenCV requires Android SDK tools revision 14 or newer. Otherwise tests and samples will no be compiled." )
endif ( )
endif ( ANDROID )
if ( WITH_OPENGL AND NOT HAVE_QT_OPENGL )
find_package ( OpenGL QUIET )
if ( OPENGL_FOUND )
set ( HAVE_OPENGL 1 )
set ( OPENCV_LINKER_LIBS ${ OPENCV_LINKER_LIBS } ${ OPENGL_LIBRARIES } )
ocv_include_directories ( ${ OPENGL_INCLUDE_DIR } )
endif ( )
endif ( )
if ( ANDROID AND ANDROID_EXECUTABLE AND ANT_EXECUTABLE AND ( ANT_VERSION VERSION_GREATER 1.7 ) AND ( ANDROID_TOOLS_Pkg_Revision GREATER 13 ) )
SET ( CAN_BUILD_ANDROID_PROJECTS TRUE )
else ( )
SET ( CAN_BUILD_ANDROID_PROJECTS FALSE )
endif ( )
@ -667,7 +666,7 @@ if(OPENCV_SVNVERSION)
status ( "Version control:" ${ OPENCV_SVNVERSION } )
endif ( )
# b u i l d p l a t f o r m
# = = = = = = = = = = = = = = = = = = = = = = = = = = b u i l d p l a t f o r m = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Platform:" )
status ( " Host:" ${ CMAKE_HOST_SYSTEM_NAME } ${ CMAKE_HOST_SYSTEM_VERSION } ${ CMAKE_HOST_SYSTEM_PROCESSOR } )
@ -687,7 +686,7 @@ if(NOT CMAKE_GENERATOR MATCHES "Xcode|Visual Studio")
status ( " Configuration:" ${ CMAKE_BUILD_TYPE } )
endif ( )
# C / C + + o p t i o n s
# = = = = = = = = = = = = = = = = = = = = = = = = = = C / C + + o p t i o n s = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " C/C++:" )
status ( " Built as dynamic libs?:" BUILD_SHARED_LIBS THEN YES ELSE NO )
@ -705,7 +704,7 @@ else()
status ( " Linker flags (Debug):" ${ CMAKE_SHARED_LINKER_FLAGS } ${ CMAKE_SHARED_LINKER_FLAGS_DEBUG } )
endif ( )
# O p e n C V m o d u l e s
# = = = = = = = = = = = = = = = = = = = = = = = = = = O p e n C V m o d u l e s = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " OpenCV modules:" )
string ( REPLACE "opencv_" "" OPENCV_MODULES_BUILD_ST "${OPENCV_MODULES_BUILD}" )
@ -724,11 +723,11 @@ endforeach()
string ( REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_AUTO_ST "${OPENCV_MODULES_DISABLED_AUTO_ST}" )
status ( " To be built:" OPENCV_MODULES_BUILD THEN ${ OPENCV_MODULES_BUILD_ST } ELSE "-" )
status ( " Disabled by user :" OPENCV_MODULES_DISABLED_USER THEN ${ OPENCV_MODULES_DISABLED_USER_ST } ELSE "-" )
status ( " Disabled:" OPENCV_MODULES_DISABLED_USER THEN ${ OPENCV_MODULES_DISABLED_USER_ST } ELSE "-" )
status ( " Disabled by dependency:" OPENCV_MODULES_DISABLED_AUTO THEN ${ OPENCV_MODULES_DISABLED_AUTO_ST } ELSE "-" )
status ( " Unavailable:" OPENCV_MODULES_DISABLED_FORCE THEN ${ OPENCV_MODULES_DISABLED_FORCE_ST } ELSE "-" )
# A n d r o i d e x t r a
# = = = = = = = = = = = = = = = = = = = = = = = = = = A n d r o i d d e t a i l s = = = = = = = = = = = = = = = = = = = = = = = = = =
if ( ANDROID )
status ( "" )
status ( " Android: " )
@ -744,14 +743,17 @@ if(ANDROID)
status ( " ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO )
endif ( )
# Y V
# = = = = = = = = = = = = = = = = = = = = = = = = = = G U I = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " GUI: " )
if ( HAVE_QT )
if ( HAVE_QT )
status ( " QT 4.x:" HAVE_QT THEN "YES (ver ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH} ${QT_EDITION})" ELSE NO )
status ( " QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${QT_QTOPENGL_LIBRARY})" ELSE NO )
else ( )
if ( DEFINED WITH_QT )
status ( " QT 4.x:" NO )
endif ( )
if ( WIN32 )
status ( " Win32 UI:" YES )
else ( )
@ -771,7 +773,7 @@ endif()
status ( " OpenGL support:" HAVE_OPENGL THEN "YES (${OPENGL_LIBRARIES})" ELSE NO )
# m e d i a
# = = = = = = = = = = = = = = = = = = = = = = = = = = M E D I A I O = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Media I/O: " )
status ( " ZLib:" BUILD_ZLIB THEN "build (ver ${ZLIB_VERSION_STRING})" ELSE "${ZLIB_LIBRARY} (ver ${ZLIB_VERSION_STRING})" )
@ -802,28 +804,73 @@ else()
endif ( )
status ( " OpenEXR:" WITH_OPENEXR AND OPENEXR_FOUND THEN "${OPENEXR_LIBRARIES} (ver ${OPENEXR_VERSION})" ELSE NO )
status ( " OpenNI:" HAVE_OPENNI THEN "YES (ver ${OPENNI_VERSION_STRING}, build ${OPENNI_VERSION_BUILD})" ELSE NO )
status ( " OpenNI PrimeSensor Modules:"
H A V E _ O P E N N I _ P R I M E _ S E N S O R _ M O D U L E T H E N " YES ( ${ OPENNI_PRIME_SENSOR_MODULE } ) " E L S E N O )
if ( WIN32 )
status ( " XIMEA:" HAVE_XIMEA THEN YES ELSE NO )
endif ( )
# v i d e o
# = = = = = = = = = = = = = = = = = = = = = = = = = = V I D E O I O = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
if ( UNIX AND NOT APPLE )
status ( " Video I/O:" )
status ( " Video I/O:" )
if ( DEFINED WITH_1394 )
status ( " DC1394 1.x:" HAVE_DC1394 THEN "YES (ver ${ALIASOF_libdc1394_VERSION})" ELSE NO )
status ( " DC1394 2.x:" HAVE_DC1394_2 THEN "YES (ver ${ALIASOF_libdc1394-2_VERSION})" ELSE NO )
endif ( DEFINED WITH_1394 )
if ( ANDROID )
if ( HAVE_opencv_androidcamera )
status ( " AndroidNativeCamera:" BUILD_ANDROID_CAMERA_WRAPPER
T H E N " Y E S , b u i l d f o r A n d r o i d $ { A N D R O I D _ V E R S I O N } " E L S E " Y E S , u s e p r e b u i l t l i b r a r i e s " )
else ( )
status ( " AndroidNativeCamera:" "NO (native camera requires Android API level 8 or higher)" )
endif ( )
endif ( )
if ( DEFINED WITH_AVFOUNDATION )
status ( " AVFoundation:" WITH_AVFOUNDATION THEN YES ELSE NO )
endif ( DEFINED WITH_AVFOUNDATION )
if ( DEFINED WITH_FFMPEG )
if ( WIN32 )
status ( " FFMPEG:" WITH_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO )
else ( )
status ( " FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO )
endif ( )
status ( " codec:" HAVE_FFMPEG_CODEC THEN "YES (ver ${ALIASOF_libavcodec_VERSION})" ELSE NO )
status ( " format:" HAVE_FFMPEG_FORMAT THEN "YES (ver ${ALIASOF_libavformat_VERSION})" ELSE NO )
status ( " util:" HAVE_FFMPEG_UTIL THEN "YES (ver ${ALIASOF_libavutil_VERSION})" ELSE NO )
status ( " swscale:" HAVE_FFMPEG_SWSCALE THEN "YES (ver ${ALIASOF_libswscale_VERSION})" ELSE NO )
status ( " gentoo-style:" HAVE_GENTOO_FFMPEG THEN YES ELSE NO )
endif ( DEFINED WITH_FFMPEG )
if ( DEFINED WITH_GSTREAMER )
status ( " GStreamer:" HAVE_GSTREAMER THEN "" ELSE NO )
if ( HAVE_GSTREAMER )
status ( " base:" "YES (ver ${ALIASOF_gstreamer-base-0.10_VERSION})" )
status ( " app:" "YES (ver ${ALIASOF_gstreamer-app-0.10_VERSION})" )
status ( " video:" "YES (ver ${ALIASOF_gstreamer-video-0.10_VERSION})" )
endif ( )
endif ( DEFINED WITH_GSTREAMER )
if ( DEFINED WITH_OPENNI )
status ( " OpenNI:" HAVE_OPENNI THEN "YES (ver ${OPENNI_VERSION_STRING}, build ${OPENNI_VERSION_BUILD})"
E L S E N O )
status ( " OpenNI PrimeSensor Modules:" HAVE_OPENNI_PRIME_SENSOR_MODULE
T H E N " YES ( ${ OPENNI_PRIME_SENSOR_MODULE } ) " E L S E N O )
endif ( DEFINED WITH_OPENNI )
if ( DEFINED WITH_PVAPI )
status ( " PvAPI:" HAVE_PVAPI THEN YES ELSE NO )
endif ( DEFINED WITH_PVAPI )
if ( DEFINED WITH_QUICKTIME )
status ( " QuickTime:" WITH_QUICKTIME THEN YES ELSE NO )
status ( " QTKit:" WITH_QUICKTIME THEN NO ELSE YES )
endif ( DEFINED WITH_QUICKTIME )
if ( DEFINED WITH_UNICAP )
status ( " UniCap:" HAVE_UNICAP THEN "YES (ver ${ALIASOF_libunicap_VERSION})" ELSE NO )
status ( " UniCap ucil:" HAVE_UNICAP_UCIL THEN "YES (ver ${ALIASOF_libucil_VERSION})" ELSE NO )
status ( " PvAPI:" HAVE_PVAPI THEN YES ELSE NO )
endif ( DEFINED WITH_UNICAP )
if ( DEFINED WITH_V4L )
if ( HAVE_CAMV4L )
set ( HAVE_CAMV4L_STR "YES" )
else ( )
@ -834,50 +881,43 @@ if(UNIX AND NOT APPLE)
else ( )
set ( HAVE_CAMV4L2_STR "NO" )
endif ( )
status ( " V4L/V4L2:" HAVE_LIBV4L THEN "Using libv4l (ver ${ALIASOF_libv4l1_VERSION})" ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}" )
status ( " Xine:" HAVE_XINE THEN "YES (ver ${ALIASOF_libxine_VERSION})" ELSE NO )
status ( " V4L/V4L2:" HAVE_LIBV4L THEN "Using libv4l (ver ${ALIASOF_libv4l1_VERSION})"
E L S E " $ { H A V E _ C A M V 4 L _ S T R } / $ { H A V E _ C A M V 4 L 2 _ S T R } " )
endif ( DEFINED WITH_V4L )
if ( ANDROID )
if ( HAVE_opencv_androidcamera )
status ( " AndroidNativeCamera:" BUILD_ANDROID_CAMERA_WRAPPER THEN "YES, build for Android ${ANDROID_VERSION}" ELSE "YES, use prebuilt libraries" )
else ( )
status ( " AndroidNativeCamera:" "NO (native camera requires Android API level 8 or higher)" )
endif ( )
endif ( )
elseif ( APPLE )
if ( NOT IOS )
status ( " Video I/O:" WITH_QUICKTIME THEN QuickTime ELSE QTKit )
else ( )
status ( " Video I/O: AVFoundation" )
endif ( )
elseif ( WIN32 )
status ( " Video I/O:" HAVE_VIDEOINPUT THEN DirectShow ELSE NO )
endif ( )
if ( DEFINED WITH_VIDEOINPUT )
status ( " DirectShow:" HAVE_VIDEOINPUT THEN YES ELSE NO )
endif ( DEFINED WITH_VIDEOINPUT )
if ( WIN32 )
status ( " FFMPEG:" WITH_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO )
else ( )
status ( " FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO )
endif ( )
status ( " codec:" HAVE_FFMPEG_CODEC THEN "YES (ver ${ALIASOF_libavcodec_VERSION})" ELSE NO )
status ( " format:" HAVE_FFMPEG_FORMAT THEN "YES (ver ${ALIASOF_libavformat_VERSION})" ELSE NO )
status ( " util:" HAVE_FFMPEG_UTIL THEN "YES (ver ${ALIASOF_libavutil_VERSION})" ELSE NO )
status ( " swscale:" HAVE_FFMPEG_SWSCALE THEN "YES (ver ${ALIASOF_libswscale_VERSION})" ELSE NO )
status ( " gentoo-style:" HAVE_GENTOO_FFMPEG THEN YES ELSE NO )
if ( DEFINED WITH_XIMEA )
status ( " XIMEA:" HAVE_XIMEA THEN YES ELSE NO )
endif ( DEFINED WITH_XIMEA )
if ( DEFINED WITH_XINE )
status ( " Xine:" HAVE_XINE THEN "YES (ver ${ALIASOF_libxine_VERSION})" ELSE NO )
endif ( DEFINED WITH_XINE )
# O t h e r t h i r d - p a r t y l i b r a r i e s
# = = = = = = = = = = = = = = = = = = = = = = = = = = O t h e r t h i r d - p a r t y l i b r a r i e s = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Other third-party libraries:" )
if ( WITH_IPP AND IPP_FOUND )
if ( DEFINED WITH_IPP )
if ( WITH_IPP AND IPP_FOUND )
status ( " Use IPP:" "${IPP_LATEST_VERSION_STR} [${IPP_LATEST_VERSION_MAJOR}.${IPP_LATEST_VERSION_MINOR}.${IPP_LATEST_VERSION_BUILD}]" )
status ( " at:" "${IPP_ROOT_DIR}" )
else ( )
else ( )
status ( " Use IPP:" WITH_IPP AND NOT IPP_FOUND THEN "IPP not found" ELSE NO )
endif ( )
endif ( )
endif ( DEFINED WITH_IPP )
if ( DEFINED WITH_TBB )
status ( " Use TBB:" HAVE_TBB THEN "YES (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})" ELSE NO )
endif ( DEFINED WITH_TBB )
if ( DEFINED WITH_CUDA )
status ( " Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO )
endif ( DEFINED WITH_CUDA )
status ( " Use TBB:" HAVE_TBB THEN "YES (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})" ELSE NO )
status ( " Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO )
status ( " Use Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO )
if ( HAVE_CUDA )
@ -891,7 +931,7 @@ if(HAVE_CUDA)
status ( " NVIDIA GPU features:" ${ OPENCV_CUDA_ARCH_FEATURES } )
endif ( )
# i n t e r f a c e s t o o t h e r l a n g u a g e s
# = = = = = = = = = = = = = = = = = = = = = = = = = = p y t h o n = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Python:" )
status ( " Interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTABLE} (ver ${PYTHON_VERSION_FULL})" ELSE NO )
@ -905,12 +945,7 @@ if(BUILD_opencv_python)
status ( " packages path:" PYTHON_EXECUTABLE THEN "${PYTHON_PACKAGES_PATH}" ELSE "-" )
endif ( )
if ( BUILD_opencv_java )
status ( "" )
status ( " Java:" HAVE_opencv_java THEN YES ELSE NO )
endif ( )
# d o c u m e n t a t i o n
# = = = = = = = = = = = = = = = = = = = = = = = = = = d o c u m e n t a t i o n = = = = = = = = = = = = = = = = = = = = = = = = = =
if ( BUILD_DOCS )
status ( "" )
status ( " Documentation:" )
@ -923,7 +958,7 @@ if(BUILD_DOCS)
status ( " PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO )
endif ( )
# s a m p l e s a n d t e s t s
# = = = = = = = = = = = = = = = = = = = = = = = = = = s a m p l e s a n d t e s t s = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Tests and samples:" )
status ( " Tests:" BUILD_TESTS AND HAVE_opencv_ts THEN YES ELSE NO )
@ -932,10 +967,10 @@ status(" Examples:" BUILD_EXAMPLES THEN YES EL
if ( ANDROID )
status ( " Android tests:" BUILD_TESTS AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO )
status ( " Android examples:" BUILD_ANDROID_EXAMPLES THEN YES ELSE NO )
status ( " Android examples:" BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO )
endif ( )
# a u x i l i a r y
# = = = = = = = = = = = = = = = = = = = = = = = = = = a u x i l i a r y = = = = = = = = = = = = = = = = = = = = = = = = = =
status ( "" )
status ( " Install path:" "${CMAKE_INSTALL_PREFIX}" )
status ( "" )