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 # Default value for OPENMP:
\r
169 # ===================================================
\r
171 set(DEFAULT_ENABLE_OPENMP ON)
\r
173 set(DEFAULT_ENABLE_OPENMP OFF)
\r
176 set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")
\r
178 if(CMAKE_COMPILER_IS_GNUCXX)
\r
179 set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
\r
180 set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
\r
181 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)
\r
182 # We can use only -O2 because the -O3 causes gcc crash
\r
183 set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
\r
184 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
186 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
\r
187 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
188 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
189 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
190 set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")
\r
191 set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
\r
192 set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
\r
194 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
\r
195 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
196 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
197 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
198 set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")
\r
199 set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
\r
200 set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
\r
202 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
\r
203 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
204 set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
\r
206 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
\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
215 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86)
\r
216 set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
\r
217 set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
\r
218 set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")
\r
219 set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
\r
220 set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
\r
221 set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
\r
222 # SSE/SSE2 might probably be not available for some old AMD or VIA processors
\r
226 # allow fine grained control over which libraries not to link, even if
\r
227 # they are available on the system
\r
228 # ====================================================================
\r
230 set(WITH_PNG ON CACHE BOOL "Include PNG support")
\r
231 set(WITH_JPEG ON CACHE BOOL "Include JPEG support")
\r
232 set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")
\r
233 set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
\r
234 set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")
\r
235 set(WITH_UNICAP ON CACHE BOOL "Include Unicap support")
\r
236 set(WITH_GTK ON CACHE BOOL "Include GTK support")
\r
237 set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
\r
238 set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
\r
239 set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
\r
240 set(WITH_XINE ON CACHE BOOL "Include Xine support")
\r
243 # ===================================================
\r
244 # Macros that checks if module have been installed.
\r
245 # After it adds module to build and define
\r
246 # constants passed as second arg
\r
247 # ===================================================
\r
249 macro(CHECK_MODULE module_name define)
\r
251 if(PKG_CONFIG_FOUND)
\r
252 set(ALIAS ALIASOF_${module_name})
\r
253 set(ALIAS_FOUND ${ALIAS}_FOUND)
\r
254 set(ALIAS_INCLUDE_DIRS ${ALIAS}_INCLUDE_DIRS)
\r
255 set(ALIAS_LIBRARY_DIRS ${ALIAS}_LIBRARY_DIRS)
\r
256 set(ALIAS_LIBRARIES ${ALIAS}_LIBRARIES)
\r
258 PKG_CHECK_MODULES(${ALIAS} ${module_name})
\r
260 if (${ALIAS_FOUND})
\r
262 foreach(P "${ALIAS_INCLUDE_DIRS}")
\r
264 list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
\r
268 foreach(P "${ALIAS_LIBRARY_DIRS}")
\r
270 list(APPEND HIGHGUI_LIBRARY_DIRS ${${P}})
\r
274 list(APPEND HIGHGUI_LIBRARIES ${${ALIAS_LIBRARIES}})
\r
282 CHECK_MODULE(gtk+-2.0 HAVE_GTK)
\r
283 CHECK_MODULE(gthread-2.0 HAVE_GTHREAD)
\r
285 set(HAVE_GTK FALSE)
\r
286 set(HAVE_GTHREAD FALSE)
\r
289 CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER)
\r
291 set(HAVE_GSTREAMER FALSE)
\r
296 CHECK_MODULE(libunicap HAVE_UNICAP_)
\r
297 CHECK_MODULE(libucil HAVE_UNICAP_UCIL)
\r
298 if(HAVE_UNICAP_ AND HAVE_UNICAP_UCIL)
\r
302 set(HAVE_UNICAP FALSE)
\r
307 CHECK_MODULE(libavcodec HAVE_FFMPEG_CODEC)
\r
308 CHECK_MODULE(libavformat HAVE_FFMPEG_FORMAT)
\r
309 CHECK_MODULE(libavutil HAVE_FFMPEG_UTIL)
\r
310 CHECK_MODULE(libswscale HAVE_FFMPEG_SWSCALE)
\r
311 CHECK_INCLUDE_FILE(libavformat/avformat.h HAVE_GENTOO_FFMPEG)
\r
312 CHECK_INCLUDE_FILE(ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG)
\r
313 if(NOT HAVE_GENTOO_FFMPEG AND NOT HAVE_FFMPEG_FFMPEG)
\r
314 if(EXISTS /usr/include/ffmpeg/libavformat/avformat.h OR HAVE_FFMPEG_SWSCALE)
\r
315 set(HAVE_GENTOO_FFMPEG 1)
\r
318 if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)
\r
319 if(HAVE_FFMPEG_SWSCALE OR NOT HAVE_GENTOO_FFMPEG)
\r
326 CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
\r
327 if(NOT HAVE_DC1394_2)
\r
328 CHECK_MODULE(libdc1394 HAVE_DC1394)
\r
331 set(HAVE_DC1394_2 FALSE)
\r
332 set(HAVE_DC1394 FALSE)
\r
336 CHECK_INCLUDE_FILE(alloca.h HAVE_ALLOCA_H)
\r
337 CHECK_FUNCTION_EXISTS(alloca HAVE_ALLOCA)
\r
338 CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
\r
339 CHECK_INCLUDE_FILE(pthread.h HAVE_LIBPTHREAD)
\r
342 CHECK_MODULE(libxine HAVE_XINE)
\r
344 set(HAVE_XINE FALSE)
\r
347 CHECK_MODULE(libv4l1 HAVE_LIBV4L)
\r
348 CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
\r
349 CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
\r
351 set(HAVE_LIBV4L FALSE)
\r
352 set(HAVE_CAMV4L FALSE)
\r
353 set(HAVE_CAMV4L2 FALSE)
\r
356 if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
\r
360 CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/png.h HAVE_PNG_H)
\r
361 CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/libpng/png.h HAVE_LIBPNG_PNG_H)
\r
364 set(PNG_FOUND FALSE)
\r
369 set(TIFF_FOUND FALSE)
\r
372 include(FindJasper)
\r
374 set(JASPER_FOUND FALSE)
\r
379 set(JPEG_FOUND FALSE)
\r
383 if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
\r
384 set(OPENCV_LINKER_LIBS m pthread)
\r
386 set(OPENCV_LINKER_LIBS dl m pthread rt)
\r
389 add_definitions(-DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H)
\r
393 set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")
\r
394 set(BUILD_SWIG_PYTHON_SUPPORT OFF CACHE BOOL "Build with older SWIG-based Python support")
\r
395 set(BUILD_OCTAVE_SUPPORT OFF CACHE BOOL "Build with Octave support")
\r
397 if(BUILD_SWIG_PYTHON_SUPPORT OR BUILD_NEW_PYTHON_SUPPORT)
\r
398 find_package(PythonInterp)
\r
399 find_package(PythonLibs)
\r
401 # cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND
\r
402 if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
\r
403 set(PYTHONLIBS_FOUND ON)
\r
404 endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
\r
406 execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
\r
407 ERROR_VARIABLE PYTHON_VERSION_FULL
\r
408 OUTPUT_STRIP_TRAILING_WHITESPACE)
\r
410 string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
\r
412 set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
\r
413 set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
\r
416 get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
\r
417 set(PYTHON_PLUGIN_INSTALL_PATH "${PYTHON_PATH}/Lib/site-packages/opencv")
\r
418 set(PYTHON_PACKAGES_PATH "${PYTHON_PATH}/Lib/site-packages")
\r
422 if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)
\r
427 ############################### IPP ################################
\r
429 set(OPENCV_LOADER_PATH)
\r
433 set(OPENCV_LOADER_PATH DYLD_LIBRARY_PATH)
\r
435 set(OPENCV_LOADER_PATH LD_LIBRARY_PATH)
\r
439 foreach(v "6.1" "6.0" "5.3" "5.2" "5.1")
\r
442 find_path(IPP_PATH "ippi-${v}.dll"
\r
443 PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}
\r
444 DOC "The path to IPP dynamic libraries")
\r
446 find_path(IPP_PATH "ippiem64t-${v}.dll"
\r
447 PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}
\r
448 DOC "The path to IPP dynamic libraries")
\r
452 find_path(IPP_PATH "libippi${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"
\r
453 PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}
\r
454 DOC "The path to IPP dynamic libraries")
\r
456 find_path(IPP_PATH "libippiem64t${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"
\r
457 PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}
\r
458 DOC "The path to IPP dynamic libraries")
\r
462 file(GLOB IPP_HDRS "${IPP_PATH}/../include")
\r
464 set(IPP_FOUND TRUE)
\r
470 message(STATUS "IPP detected: ${IPP_FOUND}")
\r
472 if(WIN32 AND NOT MSVC)
\r
476 set(USE_IPP ${IPP_FOUND} CACHE BOOL "Use IPP when available")
\r
478 if(IPP_FOUND AND USE_IPP)
\r
479 add_definitions(-DHAVE_IPP)
\r
480 include_directories("${IPP_PATH}/../include")
\r
481 link_directories("${IPP_PATH}/../lib")
\r
483 file(GLOB em64t_files "${IPP_PATH}/../lib/*em64t*")
\r
486 set(IPP_ARCH "em64t")
\r
489 set(A ${CMAKE_STATIC_LIBRARY_PREFIX})
\r
490 set(B ${IPP_ARCH}${CMAKE_STATIC_LIBRARY_SUFFIX})
\r
496 set(IPP_LIBS ${A}ippsmerged${B} ${A}ippsemerged${B}
\r
497 ${A}ippimerged${B} ${A}ippiemerged${B}
\r
498 ${A}ippvmmerged${B} ${A}ippvmemerged${B}
\r
499 ${A}ippccmerged${B} ${A}ippccemerged${B}
\r
500 ${A}ippcvmerged${B} ${A}ippcvemerged${B}
\r
501 ${A}ippcore${L}${B})
\r
505 ################## LATEX ##################
\r
506 set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")
\r
508 # ----------------------------------------------------------------------------
\r
509 # UPDATE CONFIG FILES & SCRIPTS:
\r
511 # CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [@ONLY])
\r
512 # If @ONLY is specified, only variables of the form @VAR@ will be
\r
513 # replaces and ${VAR} will be ignored.
\r
515 # A directory will be created for each platform so the "cvconfig.h" file is
\r
516 # not overwritten if cmake generates code in the same path.
\r
517 # ----------------------------------------------------------------------------
\r
518 add_definitions(-DHAVE_CONFIG_H)
\r
520 set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")
\r
522 message(STATUS "Parsing 'cvconfig.h.cmake'")
\r
523 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cvconfig.h.cmake" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
\r
525 # ---------------------------------------------------------------------------
\r
526 # The C+//0 include & link directories:
\r
527 # ---------------------------------------------------------------------------
\r
528 include_directories("."
\r
529 "${OPENCV_CONFIG_FILE_INCLUDE_DIR}"
\r
530 "${CMAKE_CURRENT_SOURCE_DIR}/include"
\r
531 "${CMAKE_CURRENT_SOURCE_DIR}/include/opencv"
\r
534 # ----------------------------------------------------------------------------
\r
535 # Set the maximum level of warnings:
\r
536 # ----------------------------------------------------------------------------
\r
537 # Should be set to true for development
\r
538 set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
\r
540 # Whole program optimization?
\r
541 set(OPENCV_WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.")
\r
543 set(EXTRA_C_FLAGS "")
\r
544 set(EXTRA_C_FLAGS_RELEASE "")
\r
545 set(EXTRA_C_FLAGS_DEBUG "")
\r
546 set(EXTRA_EXE_LINKER_FLAGS "")
\r
547 set(EXTRA_EXE_LINKER_FLAGS_RELEASE "")
\r
548 set(EXTRA_EXE_LINKER_FLAGS_DEBUG "")
\r
551 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS")
\r
552 # 64-bit portability warnings, in MSVC8
\r
554 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Wp64")
\r
557 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _BIND_TO_CURRENT_CRT_VERSION=1 /D _BIND_TO_CURRENT_VCLIBS_VERSION=1")
\r
560 set(EXTRA_EXE_LINKER_FLAGS_RELEASE "${EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")
\r
562 # Whole program optimization
\r
563 if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION AND MSVC_VERSION GREATER 1300)
\r
564 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /GL")
\r
565 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
\r
566 set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
\r
570 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /openmp")
\r
573 # Remove unreferenced functions: function level linking
\r
574 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Gy")
\r
575 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /Zi")
\r
578 if(CMAKE_COMPILER_IS_GNUCXX)
\r
579 # High level of warnings.
\r
580 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")
\r
582 # The -Wno-long-long is required in 64bit systems when including sytem headers.
\r
583 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
\r
584 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
\r
586 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
\r
587 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
\r
590 # We need pthread's
\r
592 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -pthread")
\r
595 if(OPENCV_WARNINGS_ARE_ERRORS)
\r
596 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")
\r
599 # Whole program optimization
\r
600 if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION)
\r
601 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine")
\r
604 # Other optimizations
\r
605 if(USE_OMIT_FRAME_POINTER)
\r
606 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer")
\r
609 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2")
\r
612 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3")
\r
615 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")
\r
618 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")
\r
621 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx")
\r
623 # SSE should be disabled under MingW because it generates compiler errors
\r
625 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")
\r
627 # SSE2 should be disabled under MingW because it generates compiler errors
\r
629 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")
\r
631 # SSE3 should be disabled under MingW because it generates compiler errors
\r
632 if(USE_SSE3 AND NOT MINGW)
\r
633 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")
\r
637 if(ENABLE_PROFILING)
\r
638 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g")
\r
640 # Remove unreferenced functions: function level linking
\r
642 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections")
\r
648 set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -D_GLIBCXX_PARALLEL -fopenmp")
\r
649 set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} gomp)
\r
652 set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG")
\r
653 set(EXTRA_C_FLAGS_DEBUG "${EXTRA_C_FLAGS_DEBUG} -O0 -DDEBUG -D_DEBUG")
\r
657 # Add user supplied extra options (optimization, etc...)
\r
658 # ==========================================================
\r
659 set(OPENCV_EXTRA_C_FLAGS "" CACHE STRING "Extra compiler options")
\r
660 set(OPENCV_EXTRA_C_FLAGS_RELEASE "" CACHE STRING "Extra compiler options for Release build")
\r
661 set(OPENCV_EXTRA_C_FLAGS_DEBUG "" CACHE STRING "Extra compiler options for Debug build")
\r
662 set(OPENCV_EXTRA_EXE_LINKER_FLAGS "" CACHE STRING "Extra linker flags" FORCE)
\r
663 set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "Extra linker flags for Release build" FORCE)
\r
664 set(OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "Extra linker flags for Debug build" FORCE)
\r
666 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
\r
667 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
\r
668 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
\r
669 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
\r
670 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
\r
671 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
\r
672 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS} ${OPENCV_EXTRA_EXE_LINKER_FLAGS}")
\r
673 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE}")
\r
674 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG}")
\r
676 # In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release:
\r
677 if (${CMAKE_GENERATOR} MATCHES ".*Makefiles")
\r
678 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
\r
679 set(CMAKE_BUILD_TYPE Release)
\r
683 if (WIN32 AND MSVC)
\r
684 # avoid warnings from MSVC about overriding the /W* option
\r
685 # we replace /W3 with /W4 only for C++ files,
\r
686 # since all the 3rd-party libraries OpenCV uses are in C,
\r
687 # and we do not care about their warnings.
\r
688 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
\r
689 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
\r
690 string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
\r
693 if("${CMAKE_CONFIGURE_LDFLAGS}")
\r
694 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_CONFIGURE_LDFLAGS}")
\r
695 endif("${CMAKE_CONFIGURE_LDFLAGS}")
\r
697 # ----------------------------------------------------------------------------
\r
698 # PROCESS SUBDIRECTORIES:
\r
699 # ----------------------------------------------------------------------------
\r
700 # Save libs and executables in the same place
\r
701 set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Output directory for libraries" )
\r
702 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )
\r
705 set(OPENCV_DOC_INSTALL_PATH doc)
\r
707 set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
\r
710 # --------------------------------------------------------------------------------------------
\r
711 # Installation for CMake Module: OpenCVConfig.cmake
\r
712 # Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake -> For use *without* "make install"
\r
713 # Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use with "make install"
\r
714 # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
\r
715 # -------------------------------------------------------------------------------------------
\r
717 # -------------------------------------------------------------------------------------------
\r
718 # Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake -> For use *without* "make install"
\r
719 # -------------------------------------------------------------------------------------------
\r
721 # Name of libraries is: libcv.so.1.1.0, etc...
\r
722 # OPENCV_DLLVERSION must be set to "110", etc..
\r
723 # Already done above.
\r
725 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
726 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"${OPENCV_CONFIG_FILE_INCLUDE_DIR}\" \"${CMAKE_CURRENT_SOURCE_DIR}/include\" \"${CMAKE_CURRENT_SOURCE_DIR}/include/opencv\"")
\r
728 set(CMAKE_LIB_DIRS_CONFIGCMAKE "${LIBRARY_OUTPUT_PATH}")
\r
730 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
732 # --------------------------------------------------------------------------------------------
\r
733 # Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
\r
734 # -------------------------------------------------------------------------------------------
\r
735 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
737 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv")
\r
738 set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
\r
740 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")
\r
741 exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")
\r
742 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
745 # For a command "FIND_PACKAGE(FOO)", CMake will look at the directory /usr/share|lib/FOO/FOOConfig.cmake, so:
\r
746 install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/opencv/)
\r
749 # --------------------------------------------------------------------------------------------
\r
750 # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
\r
751 # -------------------------------------------------------------------------------------------
\r
753 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
\r
755 # This will expand to, for example, <program files>/OpenCV 1.1.0/include
\r
756 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")
\r
758 # This will expand to, for example, <program files>/OpenCV 1.1.0/lib
\r
759 set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")
\r
761 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")
\r
762 exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"")
\r
763 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
\r
767 # --------------------------------------------------------------------------------------------
\r
768 # Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
\r
770 # exec_prefix=${prefix}
\r
771 # libdir=${exec_prefix}/lib
\r
772 # includedir=${prefix}/include/opencv
\r
773 # -------------------------------------------------------------------------------------------
\r
774 set(prefix ${CMAKE_INSTALL_PREFIX})
\r
775 set(exec_prefix "\${prefix}")
\r
776 set(libdir "\${exec_prefix}/lib")
\r
777 set(includedir "\${prefix}/include")
\r
778 set(VERSION ${OPENCV_VERSION})
\r
780 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
\r
783 install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
\r
787 # ----------------------------------------------------------------------------
\r
788 # Uninstall target, for "make uninstall"
\r
789 # ----------------------------------------------------------------------------
\r
791 "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
\r
792 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
\r
795 ADD_CUSTOM_TARGET(uninstall
\r
796 "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
\r
799 # ----------------------------------------------------------------------------
\r
801 # ----------------------------------------------------------------------------
\r
803 set(BUILD_PACKAGE OFF CACHE BOOL "Build a installer with the SDK")
\r
809 ${CMAKE_BINARY_DIR}/.cpack/Package.cmake
\r
813 include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)
\r
815 set(root_files README ChangeLog configure)
\r
817 file(GLOB root_src_files *.in *.sh *.cmake CMakeLists.txt)
\r
820 install(FILES ${root_files}
\r
821 DESTINATION ${OPENCV_DOC_INSTALL_PATH}
\r
824 install(FILES ${root_files}
\r
827 install(FILES ${root_src_files}
\r
830 # Add the "win-install/OpenCVConfig.cmake" file to the "main" install component
\r
832 "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake"
\r
837 if(CMAKE_INSTALL_DEBUG_LIBRARIES)
\r
838 foreach(m cxcore cv cvaux ml highgui opencv_ffmpeg)
\r
839 install(FILES ${CMAKE_BINARY_DIR}/bin/Debug/${m}${OPENCV_DLLVERSION}d.dll
\r
840 DESTINATION bin COMPONENT main)
\r
841 install(FILES ${CMAKE_BINARY_DIR}/lib/Debug/${m}${OPENCV_DLLVERSION}d.lib
\r
842 DESTINATION lib COMPONENT main)
\r
846 install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE)
\r
847 install(DIRECTORY 3rdparty apps interfaces src tests utils DESTINATION "." COMPONENT src PATTERN ".svn" EXCLUDE)
\r
848 install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex")
\r
849 install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
\r
850 install(DIRECTORY doc/plastex DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
\r
856 #-----------------------------------
\r
858 #-----------------------------------
\r
859 add_subdirectory(src)
\r
860 add_subdirectory(apps)
\r
862 if(BUILD_LATEX_DOCS)
\r
863 include(OpenCVFindLATEX.cmake REQUIRED)
\r
865 if(PDFLATEX_COMPILER)
\r
866 message(STATUS "PDF LaTeX found!")
\r
870 add_subdirectory(doc)
\r
871 add_subdirectory(data)
\r
873 if(BUILD_EXAMPLES OR INSTALL_PYTHON_EXAMPLES OR INSTALL_OCTAVE_EXAMPLES)
\r
874 add_subdirectory(samples)
\r
879 add_subdirectory(tests)
\r
882 add_subdirectory(interfaces)
\r
883 add_subdirectory(3rdparty)
\r
886 # ----------------------------------------------------------------------------
\r
888 # ----------------------------------------------------------------------------
\r
890 message(STATUS "General configuration for opencv ${OPENCV_VERSION} =====================================")
\r
892 message(STATUS " Compiler: ${CMAKE_COMPILER}")
\r
893 message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
\r
894 message(STATUS " C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
\r
896 message(STATUS " Linker flags (Release): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
\r
897 message(STATUS " Linker flags (Debug): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
\r
899 message(STATUS " Linker flags (Release): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
\r
900 message(STATUS " Linker flags (Debug): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
\r
906 message(STATUS " GUI: ")
\r
907 message(STATUS " GTK+ 2.x: ${HAVE_GTK}")
\r
908 message(STATUS " GThread: ${HAVE_GTHREAD}")
\r
910 if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
\r
911 message(STATUS " Image I/O: ")
\r
912 message(STATUS " JPEG: ${JPEG_FOUND}")
\r
913 message(STATUS " PNG: ${PNG_FOUND}")
\r
914 message(STATUS " TIFF: ${TIFF_FOUND}")
\r
915 message(STATUS " JASPER: ${JASPER_FOUND}")
\r
917 message(STATUS " Image I/O: ")
\r
918 message(STATUS " JPEG: build")
\r
919 message(STATUS " PNG: build")
\r
920 message(STATUS " TIFF: build")
\r
921 message(STATUS " JASPER: build")
\r
925 message(STATUS " Video I/O: ")
\r
926 message(STATUS " DC1394 1.x: ${HAVE_DC1394}")
\r
927 message(STATUS " DC1394 2.x: ${HAVE_DC1394_2}")
\r
928 message(STATUS " FFMPEG: ${HAVE_FFMPEG}")
\r
929 message(STATUS " codec: ${HAVE_FFMPEG_CODEC}")
\r
930 message(STATUS " format: ${HAVE_FFMPEG_FORMAT}")
\r
931 message(STATUS " util: ${HAVE_FFMPEG_UTIL}")
\r
932 message(STATUS " swscale: ${HAVE_FFMPEG_SWSCALE}")
\r
933 message(STATUS " gentoo-style: ${HAVE_GENTOO_FFMPEG}")
\r
934 message(STATUS " GStreamer: ${HAVE_GSTREAMER}")
\r
935 message(STATUS " UniCap: ${HAVE_UNICAP}")
\r
937 message(STATUS " V4L/V4L2: Using libv4l")
\r
939 message(STATUS " V4L/V4L2: ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")
\r
941 message(STATUS " Xine: ${HAVE_XINE}")
\r
944 message(STATUS " Interfaces: ")
\r
945 if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)
\r
946 message(STATUS " Old Python: 1")
\r
948 message(STATUS " Old Python: 0")
\r
950 message(STATUS " Python: ${BUILD_NEW_PYTHON_SUPPORT}")
\r
951 if(IPP_FOUND AND USE_IPP)
\r
952 message(STATUS " Use IPP: ${IPP_PATH}")
\r
954 message(STATUS " Use IPP: NO")
\r
956 if(BUILD_LATEX_DOCS AND PDFLATEX_COMPILER)
\r
957 message(STATUS " Build Documentation 1")
\r
959 message(STATUS " Build Documentation 0")
\r
962 message(STATUS " Install path: ${CMAKE_INSTALL_PREFIX}")
\r
964 message(STATUS " cvconfig.h is in: ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
\r
965 message(STATUS "-----------------------------------------------------------------")
\r
968 #----------------------------------------------------------------------------
\r
969 # Generate the OpenCVConfig.cmake file for unix
\r
970 # installation in CMAKE_INSTALL_PREFIX
\r
971 #----------------------------------------------------------------------------
\r