1 # ----------------------------------------------------------------------------
\r
2 # Root CMake file for OpenCV
\r
4 # From the off-tree build directory, invoke:
\r
5 # $ cmake <PATH_TO_OPENCV_ROOT>
\r
8 # - OCT-2008: Initial version <joseluisblancoc@gmail.com>
\r
10 # ----------------------------------------------------------------------------
\r
12 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
\r
14 # it _must_ go before PROJECT(OpenCV) in order to work
\r
15 if (NOT CMAKE_INSTALL_PREFIX)
\r
17 set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR} CACHE INTERNAL "" FORCE)
\r
19 set(CMAKE_INSTALL_PREFIX "/usr" CACHE INTERNAL "" FORCE)
\r
23 set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
\r
24 set(CMAKE_C_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
\r
25 set(CMAKE_C_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
\r
26 set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
\r
27 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
\r
28 set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
\r
29 set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
\r
30 set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
\r
31 set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
\r
32 set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
\r
33 set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
\r
37 cmake_minimum_required(VERSION 2.4)
\r
40 set(CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL "" FORCE)
\r
43 #set(CMAKE_C_COMPILER "/opt/BullseyeCoverage/bin/gcc")
\r
44 #set(CMAKE_CXX_COMPILER "/opt/BullseyeCoverage/bin/g++")
\r
45 #set(CMAKE_CXX_COMPILER_INIT "/opt/BullseyeCoverage/bin/gcc")
\r
47 # --------------------------------------------------------------
\r
48 # Indicate CMake 2.7 and above that we don't want to mix relative
\r
49 # and absolute paths in linker lib lists.
\r
50 # Run "cmake --help-policy CMP0003" for more information.
\r
51 # --------------------------------------------------------------
\r
52 if(COMMAND cmake_policy)
\r
53 cmake_policy(SET CMP0003 NEW)
\r
56 # ----------------------------------------------------------------------------
\r
57 # Current version number:
\r
58 # ----------------------------------------------------------------------------
\r
59 set(OPENCV_VERSION "2.0.0")
\r
61 string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")
\r
63 list(GET OPENCV_VERSION_PARTS 0 OPENCV_VERSION_MAJOR)
\r
64 list(GET OPENCV_VERSION_PARTS 1 OPENCV_VERSION_MINOR)
\r
65 list(GET OPENCV_VERSION_PARTS 2 OPENCV_VERSION_PATCH)
\r
67 set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")
\r
71 set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
\r
72 set(OPENCV_DEBUG_POSTFIX d)
\r
75 #set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
\r
76 set(OPENCV_DLLVERSION "")
\r
77 set(OPENCV_DEBUG_POSTFIX)
\r
81 # ----------------------------------------------------------------------------
\r
82 # Variables for cvconfig.h.cmake
\r
83 # ----------------------------------------------------------------------------
\r
84 set(PACKAGE "opencv")
\r
85 set(PACKAGE_BUGREPORT "opencvlibrary-devel@lists.sourceforge.net")
\r
86 set(PACKAGE_NAME "opencv")
\r
87 set(PACKAGE_STRING "${PACKAGE} ${OPENCV_VERSION}")
\r
88 set(PACKAGE_TARNAME "${PACKAGE}")
\r
89 set(PACKAGE_VERSION "${OPENCV_VERSION}")
\r
91 # ----------------------------------------------------------------------------
\r
92 # Autodetect if we are in a SVN repository
\r
93 # ----------------------------------------------------------------------------
\r
94 find_program(SVNVERSION_PATH svnversion)
\r
95 mark_as_advanced(force SVNVERSION_PATH)
\r
97 message(STATUS "Extracting svn version, please wait...")
\r
98 execute_process(COMMAND ${SVNVERSION_PATH} -n ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE SVNVERSION_RESULT)
\r
100 if(SVNVERSION_RESULT MATCHES "exported")
\r
101 # This is NOT a svn repository:
\r
102 set(OPENCV_SVNVERSION "")
\r
104 set(OPENCV_SVNVERSION " svn:${SVNVERSION_RESULT}")
\r
107 message(STATUS "SVNVERSION: ${OPENCV_SVNVERSION}")
\r
109 # We don't have svnversion:
\r
110 set(OPENCV_SVNVERSION "")
\r
113 # ----------------------------------------------------------------------------
\r
114 # Detect GNU version:
\r
115 # ----------------------------------------------------------------------------
\r
116 if(CMAKE_COMPILER_IS_GNUCXX)
\r
117 execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
\r
118 OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
\r
119 OUTPUT_STRIP_TRAILING_WHITESPACE)
\r
121 # Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
\r
122 # Look for the version number
\r
123 string(REGEX MATCH "[0-9].[0-9].[0-9]" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
\r
125 # Split the three parts:
\r
126 string(REGEX MATCHALL "[0-9]" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")
\r
128 list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
\r
129 list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
\r
131 set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
\r
132 message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION}")
\r
135 # ----------------------------------------------------------------------------
\r
136 # CHECK FOR SYSTEM LIBRARIES, OPTIONS, ETC..
\r
137 # ----------------------------------------------------------------------------
\r
139 # Build/install (or not) some apps:
\r
140 # ===================================================
\r
141 set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")
\r
142 set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")
\r
143 set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")
\r
144 set(INSTALL_OCTAVE_EXAMPLES OFF CACHE BOOL "Install Octave examples")
\r
147 # ===================================================
\r
148 set(BUILD_TESTS ON CACHE BOOL "Build tests")
\r
150 # Build 3rdparty libraries under unix
\r
151 # ===================================================
\r
153 set(OPENCV_BUILD_3RDPARTY_LIBS TRUE CACHE BOOL "Build 3rd party libraries")
\r
155 set(OPENCV_BUILD_3RDPARTY_LIBS FALSE CACHE BOOL "Build 3rd party libraries")
\r
158 include(OpenCVPCHSupport.cmake REQUIRED)
\r
161 include(OpenCVFindPkgConfig.cmake OPTIONAL)
\r
162 include(CheckFunctionExists)
\r
163 include(CheckIncludeFile)
\r
166 set(DEFAULT_ENABLE_OPENMP OFF)
\r
167 set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")
\r
169 if(CMAKE_COMPILER_IS_GNUCXX)
\r
170 set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
\r
171 set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
\r
172 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)
\r
173 # We can use only -O2 because the -O3 causes gcc crash
\r
174 set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
\r
175 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
177 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
\r
178 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
179 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
180 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
181 set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")
\r
182 set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
\r
183 set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
\r
185 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
\r
186 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
187 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
188 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
189 set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")
\r
190 set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
\r
191 set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
\r
193 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
\r
194 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
195 set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
\r
197 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
\r
198 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
199 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
200 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
201 set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
\r
202 set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
\r
203 set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
\r
204 # SSE/SSE2 might probably be not available for some old AMD or VIA processors
\r
206 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86)
\r
207 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
208 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
209 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
210 set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
\r
211 set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
\r
212 set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
\r
213 # SSE/SSE2 might probably be not available for some old AMD or VIA processors
\r
217 # allow fine grained control over which libraries not to link, even if
\r
218 # they are available on the system
\r
219 # ====================================================================
\r
221 set(WITH_PNG ON CACHE BOOL "Include PNG support")
\r
222 set(WITH_JPEG ON CACHE BOOL "Include JPEG support")
\r
223 set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")
\r
224 set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
\r
225 set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")
\r
226 set(WITH_UNICAP ON CACHE BOOL "Include Unicap support")
\r
227 set(WITH_GTK ON CACHE BOOL "Include GTK support")
\r
228 set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
\r
229 set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
\r
230 set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
\r
231 set(WITH_XINE ON CACHE BOOL "Include Xine support")
\r
234 # ===================================================
\r
235 # Macros that checks if module have been installed.
\r
236 # After it adds module to build and define
\r
237 # constants passed as second arg
\r
238 # ===================================================
\r
240 macro(CHECK_MODULE module_name define)
\r
242 if(PKG_CONFIG_FOUND)
\r
243 set(ALIAS ALIASOF_${module_name})
\r
244 set(ALIAS_FOUND ${ALIAS}_FOUND)
\r
245 set(ALIAS_INCLUDE_DIRS ${ALIAS}_INCLUDE_DIRS)
\r
246 set(ALIAS_LIBRARY_DIRS ${ALIAS}_LIBRARY_DIRS)
\r
247 set(ALIAS_LIBRARIES ${ALIAS}_LIBRARIES)
\r
249 PKG_CHECK_MODULES(${ALIAS} ${module_name})
\r
251 if (${ALIAS_FOUND})
\r
253 foreach(P "${ALIAS_INCLUDE_DIRS}")
\r
255 list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
\r
259 foreach(P "${ALIAS_LIBRARY_DIRS}")
\r
261 list(APPEND HIGHGUI_LIBRARY_DIRS ${${P}})
\r
265 list(APPEND HIGHGUI_LIBRARIES ${${ALIAS_LIBRARIES}})
\r
273 CHECK_MODULE(gtk+-2.0 HAVE_GTK)
\r
274 CHECK_MODULE(gthread-2.0 HAVE_GTHREAD)
\r
276 set(HAVE_GTK FALSE)
\r
277 set(HAVE_GTHREAD FALSE)
\r
280 CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER)
\r
282 set(HAVE_GSTREAMER FALSE)
\r
287 CHECK_MODULE(libunicap HAVE_UNICAP_)
\r
288 CHECK_MODULE(libucil HAVE_UNICAP_UCIL)
\r
289 if(HAVE_UNICAP_ AND HAVE_UNICAP_UCIL)
\r
293 set(HAVE_UNICAP FALSE)
\r
298 CHECK_MODULE(libavcodec HAVE_FFMPEG_CODEC)
\r
299 CHECK_MODULE(libavformat HAVE_FFMPEG_FORMAT)
\r
300 CHECK_MODULE(libavutil HAVE_FFMPEG_UTIL)
\r
301 CHECK_MODULE(libswscale HAVE_FFMPEG_SWSCALE)
\r
302 CHECK_INCLUDE_FILE(libavformat/avformat.h HAVE_GENTOO_FFMPEG)
\r
303 CHECK_INCLUDE_FILE(ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG)
\r
304 if(NOT HAVE_GENTOO_FFMPEG AND NOT HAVE_FFMPEG_FFMPEG)
\r
305 if(EXISTS /usr/include/ffmpeg/libavformat/avformat.h OR HAVE_FFMPEG_SWSCALE)
\r
306 set(HAVE_GENTOO_FFMPEG 1)
\r
309 if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)
\r
310 if(HAVE_FFMPEG_SWSCALE OR NOT HAVE_GENTOO_FFMPEG)
\r
317 CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
\r
318 if(NOT HAVE_DC1394_2)
\r
319 CHECK_MODULE(libdc1394 HAVE_DC1394)
\r
322 set(HAVE_DC1394_2 FALSE)
\r
323 set(HAVE_DC1394 FALSE)
\r
327 CHECK_INCLUDE_FILE(alloca.h HAVE_ALLOCA_H)
\r
328 CHECK_FUNCTION_EXISTS(alloca HAVE_ALLOCA)
\r
329 CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
\r
330 CHECK_INCLUDE_FILE(pthread.h HAVE_LIBPTHREAD)
\r
333 CHECK_MODULE(libxine HAVE_XINE)
\r
335 set(HAVE_XINE FALSE)
\r
338 CHECK_MODULE(libv4l1 HAVE_LIBV4L)
\r
339 CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
\r
340 CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
\r
342 set(HAVE_LIBV4L FALSE)
\r
343 set(HAVE_CAMV4L FALSE)
\r
344 set(HAVE_CAMV4L2 FALSE)
\r
347 if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
\r
351 CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/png.h HAVE_PNG_H)
\r
352 CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/libpng/png.h HAVE_LIBPNG_PNG_H)
\r
355 set(PNG_FOUND FALSE)
\r
360 set(TIFF_FOUND FALSE)
\r
363 include(FindJasper)
\r
365 set(JASPER_FOUND FALSE)
\r
370 set(JPEG_FOUND FALSE)
\r
374 if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
\r
375 set(OPENCV_LINKER_LIBS m pthread)
\r
377 set(OPENCV_LINKER_LIBS dl m pthread rt)
\r
380 add_definitions(-DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H)
\r
384 set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")
\r
385 set(BUILD_SWIG_PYTHON_SUPPORT OFF CACHE BOOL "Build with older SWIG-based Python support")
\r
386 set(BUILD_OCTAVE_SUPPORT OFF CACHE BOOL "Build with Octave support")
\r
388 if(BUILD_SWIG_PYTHON_SUPPORT OR BUILD_NEW_PYTHON_SUPPORT)
\r
389 find_package(PythonInterp)
\r
390 find_package(PythonLibs)
\r
392 # cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND
\r
393 if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
\r
394 set(PYTHONLIBS_FOUND ON)
\r
395 endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
\r
397 execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
\r
398 ERROR_VARIABLE PYTHON_VERSION_FULL
\r
399 OUTPUT_STRIP_TRAILING_WHITESPACE)
\r
401 string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
\r
403 set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
\r
404 set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
\r
407 get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
\r
408 set(PYTHON_PLUGIN_INSTALL_PATH "${PYTHON_PATH}/Lib/site-packages/opencv")
\r
409 set(PYTHON_PACKAGES_PATH "${PYTHON_PATH}/Lib/site-packages")
\r
413 if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)
\r
418 ############################### IPP ################################
\r
420 set(OPENCV_LOADER_PATH)
\r
424 set(OPENCV_LOADER_PATH DYLD_LIBRARY_PATH)
\r
426 set(OPENCV_LOADER_PATH LD_LIBRARY_PATH)
\r
430 foreach(v "6.1" "6.0" "5.3" "5.2" "5.1")
\r
433 find_path(IPP_PATH "ippi-${v}.dll"
\r
434 PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}
\r
435 DOC "The path to IPP dynamic libraries")
\r
437 find_path(IPP_PATH "ippiem64t-${v}.dll"
\r
438 PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}
\r
439 DOC "The path to IPP dynamic libraries")
\r
443 find_path(IPP_PATH "libippi${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"
\r
444 PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}
\r
445 DOC "The path to IPP dynamic libraries")
\r
447 find_path(IPP_PATH "libippiem64t${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"
\r
448 PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}
\r
449 DOC "The path to IPP dynamic libraries")
\r
453 file(GLOB IPP_HDRS "${IPP_PATH}/../include")
\r
455 set(IPP_FOUND TRUE)
\r
461 message(STATUS "IPP detected: ${IPP_FOUND}")
\r
463 if(WIN32 AND NOT MSVC)
\r
467 set(USE_IPP ${IPP_FOUND} CACHE BOOL "Use IPP when available")
\r
469 if(IPP_FOUND AND USE_IPP)
\r
470 add_definitions(-DHAVE_IPP)
\r
471 include_directories("${IPP_PATH}/../include")
\r
472 link_directories("${IPP_PATH}/../lib")
\r
474 file(GLOB em64t_files "${IPP_PATH}/../lib/*em64t*")
\r
477 set(IPP_ARCH "em64t")
\r
480 set(A ${CMAKE_STATIC_LIBRARY_PREFIX})
\r
481 set(B ${IPP_ARCH}${CMAKE_STATIC_LIBRARY_SUFFIX})
\r
487 set(IPP_LIBS ${A}ippsmerged${B} ${A}ippsemerged${B}
\r
488 ${A}ippimerged${B} ${A}ippiemerged${B}
\r
489 ${A}ippvmmerged${B} ${A}ippvmemerged${B}
\r
490 ${A}ippccmerged${B} ${A}ippccemerged${B}
\r
491 ${A}ippcvmerged${B} ${A}ippcvemerged${B}
\r
492 ${A}ippcore${L}${B})
\r
496 ################## LATEX ##################
\r
497 set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")
\r
499 # ----------------------------------------------------------------------------
\r
500 # UPDATE CONFIG FILES & SCRIPTS:
\r
502 # CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [@ONLY])
\r
503 # If @ONLY is specified, only variables of the form @VAR@ will be
\r
504 # replaces and ${VAR} will be ignored.
\r
506 # A directory will be created for each platform so the "cvconfig.h" file is
\r
507 # not overwritten if cmake generates code in the same path.
\r
508 # ----------------------------------------------------------------------------
\r
509 add_definitions(-DHAVE_CONFIG_H)
\r
511 set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")
\r
513 message(STATUS "Parsing 'cvconfig.h.cmake'")
\r
514 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cvconfig.h.cmake" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
\r
516 # ---------------------------------------------------------------------------
\r
517 # The C+//0 include & link directories:
\r
518 # ---------------------------------------------------------------------------
\r
519 include_directories("."
\r
520 "${OPENCV_CONFIG_FILE_INCLUDE_DIR}"
\r
521 "${CMAKE_CURRENT_SOURCE_DIR}/include"
\r
522 "${CMAKE_CURRENT_SOURCE_DIR}/include/opencv"
\r
525 # ----------------------------------------------------------------------------
\r
526 # Set the maximum level of warnings:
\r
527 # ----------------------------------------------------------------------------
\r
528 # Should be set to true for development
\r
529 set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
\r
531 # Whole program optimization?
\r
532 set(OPENCV_WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.")
\r
534 set(EXTRA_C_FLAGS "")
\r
535 set(EXTRA_C_FLAGS_RELEASE "")
\r
536 set(EXTRA_C_FLAGS_DEBUG "")
\r
537 set(EXTRA_EXE_LINKER_FLAGS "")
\r
538 set(EXTRA_EXE_LINKER_FLAGS_RELEASE "")
\r
539 set(EXTRA_EXE_LINKER_FLAGS_DEBUG "")
\r
542 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS")
\r
543 # 64-bit portability warnings, in MSVC8
\r
545 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Wp64")
\r
548 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _BIND_TO_CURRENT_CRT_VERSION=1 /D _BIND_TO_CURRENT_VCLIBS_VERSION=1")
\r
551 set(EXTRA_EXE_LINKER_FLAGS_RELEASE "${EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")
\r
553 # Whole program optimization
\r
554 if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION AND MSVC_VERSION GREATER 1300)
\r
555 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /GL")
\r
556 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
\r
557 set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
\r
561 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /openmp")
\r
564 # Remove unreferenced functions: function level linking
\r
565 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Gy")
\r
566 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /Zi")
\r
569 if(CMAKE_COMPILER_IS_GNUCXX)
\r
570 # High level of warnings.
\r
571 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")
\r
573 # The -Wno-long-long is required in 64bit systems when including sytem headers.
\r
574 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
\r
575 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
\r
577 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
\r
578 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
\r
581 # We need pthread's
\r
583 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -pthread")
\r
586 if(OPENCV_WARNINGS_ARE_ERRORS)
\r
587 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")
\r
590 # Whole program optimization
\r
591 if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION)
\r
592 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine")
\r
595 # Other optimizations
\r
596 if(USE_OMIT_FRAME_POINTER)
\r
597 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer")
\r
600 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2")
\r
603 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3")
\r
606 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")
\r
609 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")
\r
612 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx")
\r
615 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")
\r
618 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")
\r
620 # SSE3 should be disabled under MingW because it generates compiler errors
\r
621 if(USE_SSE3 AND NOT MINGW)
\r
622 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")
\r
626 if(ENABLE_PROFILING)
\r
627 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g")
\r
629 # Remove unreferenced functions: function level linking
\r
631 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections")
\r
637 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -D_GLIBCXX_PARALLEL -fopenmp")
\r
638 set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} gomp)
\r
641 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG")
\r
642 set(EXTRA_C_FLAGS_DEBUG "${EXTRA_C_FLAGS_DEBUG} -O0 -DDEBUG -D_DEBUG")
\r
646 # Add user supplied extra options (optimization, etc...)
\r
647 # ==========================================================
\r
648 set(OPENCV_EXTRA_C_FLAGS "" CACHE STRING "Extra compiler options")
\r
649 set(OPENCV_EXTRA_C_FLAGS_RELEASE "" CACHE STRING "Extra compiler options for Release build")
\r
650 set(OPENCV_EXTRA_C_FLAGS_DEBUG "" CACHE STRING "Extra compiler options for Debug build")
\r
651 set(OPENCV_EXTRA_EXE_LINKER_FLAGS "" CACHE STRING "Extra linker flags" FORCE)
\r
652 set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "Extra linker flags for Release build" FORCE)
\r
653 set(OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "Extra linker flags for Debug build" FORCE)
\r
655 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
\r
656 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
\r
657 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
\r
658 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
\r
659 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
\r
660 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
\r
661 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS} ${OPENCV_EXTRA_EXE_LINKER_FLAGS}")
\r
662 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE}")
\r
663 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG}")
\r
665 # In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release:
\r
666 if (${CMAKE_GENERATOR} MATCHES ".*Makefiles")
\r
667 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
\r
668 set(CMAKE_BUILD_TYPE Release)
\r
672 if (WIN32 AND MSVC)
\r
673 # avoid warnings from MSVC about overriding the /W* option
\r
674 # we replace /W3 with /W4 only for C++ files,
\r
675 # since all the 3rd-party libraries OpenCV uses are in C,
\r
676 # and we do not care about their warnings.
\r
677 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
\r
678 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
\r
679 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
\r
682 if("${CMAKE_CONFIGURE_LDFLAGS}")
\r
683 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_CONFIGURE_LDFLAGS}")
\r
684 endif("${CMAKE_CONFIGURE_LDFLAGS}")
\r
686 # ----------------------------------------------------------------------------
\r
687 # PROCESS SUBDIRECTORIES:
\r
688 # ----------------------------------------------------------------------------
\r
689 # Save libs and executables in the same place
\r
690 set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Output directory for libraries" )
\r
691 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )
\r
694 set(OPENCV_DOC_INSTALL_PATH doc)
\r
696 set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
\r
699 # --------------------------------------------------------------------------------------------
\r
700 # Installation for CMake Module: OpenCVConfig.cmake
\r
701 # Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake -> For use *without* "make install"
\r
702 # Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use with "make install"
\r
703 # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
\r
704 # -------------------------------------------------------------------------------------------
\r
706 # -------------------------------------------------------------------------------------------
\r
707 # Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake -> For use *without* "make install"
\r
708 # -------------------------------------------------------------------------------------------
\r
710 # Name of libraries is: libcv.so.1.1.0, etc...
\r
711 # OPENCV_DLLVERSION must be set to "110", etc..
\r
712 # Already done above.
\r
714 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
715 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"${OPENCV_CONFIG_FILE_INCLUDE_DIR}\" \"${CMAKE_CURRENT_SOURCE_DIR}/include\" \"${CMAKE_CURRENT_SOURCE_DIR}/include/opencv\"")
\r
717 set(CMAKE_LIB_DIRS_CONFIGCMAKE "${LIBRARY_OUTPUT_PATH}")
\r
719 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
721 # --------------------------------------------------------------------------------------------
\r
722 # Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
\r
723 # -------------------------------------------------------------------------------------------
\r
724 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
726 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv")
\r
727 set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
\r
729 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")
\r
730 exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")
\r
731 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
734 # For a command "FIND_PACKAGE(FOO)", CMake will look at the directory /usr/share|lib/FOO/FOOConfig.cmake, so:
\r
735 install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/opencv/)
\r
738 # --------------------------------------------------------------------------------------------
\r
739 # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
\r
740 # -------------------------------------------------------------------------------------------
\r
742 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
744 # This will expand to, for example, <program files>/OpenCV 1.1.0/include
\r
745 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")
\r
747 # This will expand to, for example, <program files>/OpenCV 1.1.0/lib
\r
748 set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")
\r
750 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")
\r
751 exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"")
\r
752 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
756 # --------------------------------------------------------------------------------------------
\r
757 # Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
\r
759 # exec_prefix=${prefix}
\r
760 # libdir=${exec_prefix}/lib
\r
761 # includedir=${prefix}/include/opencv
\r
762 # -------------------------------------------------------------------------------------------
\r
763 set(prefix ${CMAKE_INSTALL_PREFIX})
\r
764 set(exec_prefix "\${prefix}")
\r
765 set(libdir "\${exec_prefix}/lib")
\r
766 set(includedir "\${prefix}/include")
\r
767 set(VERSION ${OPENCV_VERSION})
\r
769 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
\r
772 install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
\r
776 # ----------------------------------------------------------------------------
\r
777 # Uninstall target, for "make uninstall"
\r
778 # ----------------------------------------------------------------------------
\r
780 "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
\r
781 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
\r
784 ADD_CUSTOM_TARGET(uninstall
\r
785 "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
\r
788 # ----------------------------------------------------------------------------
\r
790 # ----------------------------------------------------------------------------
\r
792 set(BUILD_PACKAGE OFF CACHE BOOL "Build a installer with the SDK")
\r
798 ${CMAKE_BINARY_DIR}/.cpack/Package.cmake
\r
802 include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)
\r
804 set(root_files README ChangeLog configure)
\r
806 file(GLOB root_src_files *.in *.sh *.cmake CMakeLists.txt)
\r
809 install(FILES ${root_files}
\r
810 DESTINATION ${OPENCV_DOC_INSTALL_PATH}
\r
813 install(FILES ${root_files}
\r
816 install(FILES ${root_src_files}
\r
819 # Add the "win-install/OpenCVConfig.cmake" file to the "main" install component
\r
821 "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake"
\r
826 if(CMAKE_INSTALL_DEBUG_LIBRARIES)
\r
827 foreach(m cxcore cv cvaux ml highgui opencv_ffmpeg)
\r
828 install(FILES ${CMAKE_BINARY_DIR}/bin/Debug/${m}${OPENCV_DLLVERSION}d.dll
\r
829 DESTINATION bin COMPONENT main)
\r
830 install(FILES ${CMAKE_BINARY_DIR}/lib/Debug/${m}${OPENCV_DLLVERSION}d.lib
\r
831 DESTINATION lib COMPONENT main)
\r
835 install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE)
\r
836 install(DIRECTORY 3rdparty apps interfaces src tests utils DESTINATION "." COMPONENT src PATTERN ".svn" EXCLUDE)
\r
837 install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex")
\r
838 install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
\r
839 install(DIRECTORY doc/plastex DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
\r
845 #-----------------------------------
\r
847 #-----------------------------------
\r
848 add_subdirectory(src)
\r
849 add_subdirectory(apps)
\r
851 if(BUILD_LATEX_DOCS)
\r
852 include(OpenCVFindLATEX.cmake REQUIRED)
\r
854 if(PDFLATEX_COMPILER)
\r
855 message(STATUS "PDF LaTeX found!")
\r
859 add_subdirectory(doc)
\r
860 add_subdirectory(data)
\r
862 if(BUILD_EXAMPLES OR INSTALL_PYTHON_EXAMPLES OR INSTALL_OCTAVE_EXAMPLES)
\r
863 add_subdirectory(samples)
\r
868 add_subdirectory(tests)
\r
871 add_subdirectory(interfaces)
\r
872 add_subdirectory(3rdparty)
\r
875 # ----------------------------------------------------------------------------
\r
877 # ----------------------------------------------------------------------------
\r
879 message(STATUS "General configuration for opencv ${OPENCV_VERSION} =====================================")
\r
881 message(STATUS " Compiler: ${CMAKE_COMPILER}")
\r
882 message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
\r
883 message(STATUS " C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
\r
885 message(STATUS " Linker flags (Release): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
\r
886 message(STATUS " Linker flags (Debug): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
\r
888 message(STATUS " Linker flags (Release): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
\r
889 message(STATUS " Linker flags (Debug): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
\r
895 message(STATUS " GUI: ")
\r
896 message(STATUS " GTK+ 2.x: ${HAVE_GTK}")
\r
897 message(STATUS " GThread: ${HAVE_GTHREAD}")
\r
899 if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
\r
900 message(STATUS " Image I/O: ")
\r
901 message(STATUS " JPEG: ${JPEG_FOUND}")
\r
902 message(STATUS " PNG: ${PNG_FOUND}")
\r
903 message(STATUS " TIFF: ${TIFF_FOUND}")
\r
904 message(STATUS " JASPER: ${JASPER_FOUND}")
\r
906 message(STATUS " Image I/O: ")
\r
907 message(STATUS " JPEG: build")
\r
908 message(STATUS " PNG: build")
\r
909 message(STATUS " TIFF: build")
\r
910 message(STATUS " JASPER: build")
\r
914 message(STATUS " Video I/O: ")
\r
915 message(STATUS " DC1394 1.x: ${HAVE_DC1394}")
\r
916 message(STATUS " DC1394 2.x: ${HAVE_DC1394_2}")
\r
917 message(STATUS " FFMPEG: ${HAVE_FFMPEG}")
\r
918 message(STATUS " codec: ${HAVE_FFMPEG_CODEC}")
\r
919 message(STATUS " format: ${HAVE_FFMPEG_FORMAT}")
\r
920 message(STATUS " util: ${HAVE_FFMPEG_UTIL}")
\r
921 message(STATUS " swscale: ${HAVE_FFMPEG_SWSCALE}")
\r
922 message(STATUS " gentoo-style: ${HAVE_GENTOO_FFMPEG}")
\r
923 message(STATUS " GStreamer: ${HAVE_GSTREAMER}")
\r
924 message(STATUS " UniCap: ${HAVE_UNICAP}")
\r
926 message(STATUS " V4L/V4L2: Using libv4l")
\r
928 message(STATUS " V4L/V4L2: ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")
\r
930 message(STATUS " Xine: ${HAVE_XINE}")
\r
933 message(STATUS " Interfaces: ")
\r
934 if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)
\r
935 message(STATUS " Old Python: 1")
\r
937 message(STATUS " Old Python: 0")
\r
939 message(STATUS " Python: ${BUILD_NEW_PYTHON_SUPPORT}")
\r
940 if(IPP_FOUND AND USE_IPP)
\r
941 message(STATUS " Use IPP: ${IPP_PATH}")
\r
943 message(STATUS " Use IPP: NO")
\r
945 if(BUILD_LATEX_DOCS AND PDFLATEX_COMPILER)
\r
946 message(STATUS " Build Documentation 1")
\r
948 message(STATUS " Build Documentation 0")
\r
951 message(STATUS " Install path: ${CMAKE_INSTALL_PREFIX}")
\r
953 message(STATUS " cvconfig.h is in: ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
\r
954 message(STATUS "-----------------------------------------------------------------")
\r
957 #----------------------------------------------------------------------------
\r
958 # Generate the OpenCVConfig.cmake file for unix
\r
959 # installation in CMAKE_INSTALL_PREFIX
\r
960 #----------------------------------------------------------------------------
\r