]> rtime.felk.cvut.cz Git - opencv.git/blobdiff - opencv/CMakeLists.txt
added "zip" option to the Package.cmake.in, fixed test failure in cvmorph when built...
[opencv.git] / opencv / CMakeLists.txt
index edc3c21ef24f2de470be4c8d646c874ed60c44ee..01830f34ed4a431c7b961bab7192a02a774c53ef 100644 (file)
-# ----------------------------------------------------------------------------
-#  Root CMake file for OpenCV
-#
-#    From the off-tree build directory, invoke:
-#      $ cmake <PATH_TO_OPENCV_ROOT>
-#
-#
-#   - OCT-2008: Initial version <joseluisblancoc@gmail.com>
-#
-# ----------------------------------------------------------------------------
-
-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
-
-# it _must_ go before PROJECT(OpenCV) in order to work
-if (NOT CMAKE_INSTALL_PREFIX)
-    if (WIN32)
-        set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR} CACHE INTERNAL "" FORCE)
-    elseif()
-        set(CMAKE_INSTALL_PREFIX "/usr" CACHE INTERNAL "" FORCE)
-    endif()
-endif()
-
-set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
-set(CMAKE_C_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
-set(CMAKE_C_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
-set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
-set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
-set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
-set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
-set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
-set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
-set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
-
-project(OpenCV)
-
-cmake_minimum_required(VERSION 2.4)
-
-if(MSVC)
-    set(CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL "" FORCE)
-endif()
-
-# --------------------------------------------------------------
-# Indicate CMake 2.7 and above that we don't want to mix relative
-#  and absolute paths in linker lib lists.
-# Run "cmake --help-policy CMP0003" for more information.
-# --------------------------------------------------------------
-if(COMMAND cmake_policy)
-    cmake_policy(SET CMP0003 NEW)
-endif()
-
-# ----------------------------------------------------------------------------
-#  Current version number:
-# ----------------------------------------------------------------------------
-set(OPENCV_VERSION "1.1.0")
-
-string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")
-
-list(GET OPENCV_VERSION_PARTS 0 OPENCV_VERSION_MAJOR)
-list(GET OPENCV_VERSION_PARTS 1 OPENCV_VERSION_MINOR)
-list(GET OPENCV_VERSION_PARTS 2 OPENCV_VERSION_PATCH)
-
-set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")
-
-if(WIN32)
-       # Postfix of DLLs:
-       set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
-       set(OPENCV_DEBUG_POSTFIX d)
-else()
-       # Postfix of so's:
-       #set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
-       set(OPENCV_DLLVERSION "")
-       set(OPENCV_DEBUG_POSTFIX)
-endif()
-
-
-# ----------------------------------------------------------------------------
-#  Variables for cvconfig.h.cmake
-# ----------------------------------------------------------------------------
-set(PACKAGE "opencv")
-set(PACKAGE_BUGREPORT "opencvlibrary-devel@lists.sourceforge.net")
-set(PACKAGE_NAME "opencv")
-set(PACKAGE_STRING "${PACKAGE} ${OPENCV_VERSION}")
-set(PACKAGE_TARNAME "${PACKAGE}")
-set(PACKAGE_VERSION "${OPENCV_VERSION}")
-
-# ----------------------------------------------------------------------------
-#  Autodetect if we are in a SVN repository
-# ----------------------------------------------------------------------------
-find_program(SVNVERSION_PATH svnversion)
-mark_as_advanced(force SVNVERSION_PATH)
-if(SVNVERSION_PATH)
-    message(STATUS "Extracting svn version, please wait...")
-    execute_process(COMMAND ${SVNVERSION_PATH} -n ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE SVNVERSION_RESULT)
-
-    if(SVNVERSION_RESULT MATCHES "exported")
-       # This is NOT a svn repository:
-       set(OPENCV_SVNVERSION "")
-    else()
-        set(OPENCV_SVNVERSION " svn:${SVNVERSION_RESULT}")
-    endif()
-
-    message(STATUS "SVNVERSION: ${OPENCV_SVNVERSION}")
-else()
-    # We don't have svnversion:
-    set(OPENCV_SVNVERSION "")
-endif()
-
-# ----------------------------------------------------------------------------
-# Detect GNU version:
-# ----------------------------------------------------------------------------
-if(CMAKE_COMPILER_IS_GNUCXX)
-    execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
-                  OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-    # Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
-    #  Look for the version number
-    string(REGEX MATCH "[0-9].[0-9].[0-9]" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
-
-    # Split the three parts:
-    string(REGEX MATCHALL "[0-9]" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")
-
-    list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
-    list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
-
-    set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
-    message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION}")
-endif()
-
-# ----------------------------------------------------------------------------
-#              CHECK FOR SYSTEM LIBRARIES, OPTIONS, ETC..
-# ----------------------------------------------------------------------------
-
-# Build/install (or not) some apps:
-# ===================================================
-set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")
-set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")
-set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")
-set(INSTALL_OCTAVE_EXAMPLES OFF CACHE BOOL "Install Octave examples")
-
-# Build tests:
-# ===================================================
-set(BUILD_TESTS ON CACHE BOOL "Build tests")
-
-# Build 3rdparty libraries under unix
-# ===================================================
-if(WIN32)
-       set(OPENCV_BUILD_3RDPARTY_LIBS TRUE  CACHE BOOL "Build 3rd party libraries")
-else()
-       set(OPENCV_BUILD_3RDPARTY_LIBS FALSE CACHE BOOL "Build 3rd party libraries")
-endif()
-
-if(UNIX)
-    include(OpenCVFindPkgConfig.cmake OPTIONAL)
-    include(CheckFunctionExists)
-    include(CheckIncludeFile)
-endif()
-
-set(OPENCV_ENABLE_OPENMP OFF CACHE BOOL "")
-
-if(CMAKE_COMPILER_IS_GNUCXX)
-    set(OPENCV_ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
-    set(OPENCV_USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)
-        # We can use only -O2 because the -O3 causes gcc crash
-        set(OPENCV_USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
-        set(OPENCV_USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
-    endif()
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
-        set(OPENCV_USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
-        set(OPENCV_USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
-        set(OPENCV_USE_MMX ON CACHE BOOL "Enable MMX for GCC")
-        set(OPENCV_USE_SSE ON CACHE BOOL "Enable SSE for GCC")
-        set(OPENCV_USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
-        set(OPENCV_USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
-    endif()
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
-        set(OPENCV_USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
-        set(OPENCV_USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
-        set(OPENCV_USE_MMX ON CACHE BOOL "Enable MMX for GCC")
-        set(OPENCV_USE_SSE ON CACHE BOOL "Enable SSE for GCC")
-        set(OPENCV_USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")
-        set(OPENCV_USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")
-    endif()
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
-        set(OPENCV_USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
-        set(OPENCV_USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
-    endif ()
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
-        set(OPENCV_USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
-        set(OPENCV_USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
-        set(OPENCV_USE_MMX ON CACHE BOOL "Enable MMX for GCC")
-               set(OPENCV_USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
-        set(OPENCV_USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
-        set(OPENCV_USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
-       # SSE/SSE2 might probably be not available for some old AMD or VIA processors
-    endif ()
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86)
-        set(OPENCV_USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
-        set(OPENCV_USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
-        set(OPENCV_USE_MMX ON CACHE BOOL "Enable MMX for GCC")
-               set(OPENCV_USE_SSE OFF CACHE BOOL "Enable SSE for GCC")
-        set(OPENCV_USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")
-        set(OPENCV_USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")
-       # SSE/SSE2 might probably be not available for some old AMD or VIA processors
-    endif ()
-endif()
-
-# ===================================================
-# Macros that checks if module have been installed.
-# After it adds module to build and define
-# constants passed as second arg
-# ===================================================
-
-macro(CHECK_MODULE module_name define)
-    set(${define} 0)
-    if(PKG_CONFIG_FOUND)
-        set(ALIAS               ALIASOF_${module_name})
-        set(ALIAS_FOUND                 ${ALIAS}_FOUND)
-        set(ALIAS_INCLUDE_DIRS   ${ALIAS}_INCLUDE_DIRS)
-        set(ALIAS_LIBRARY_DIRS   ${ALIAS}_LIBRARY_DIRS)
-        set(ALIAS_LIBRARIES         ${ALIAS}_LIBRARIES)
-
-        PKG_CHECK_MODULES(${ALIAS} ${module_name})
-
-        if (${ALIAS_FOUND})
-            set(${define} 1)
-            foreach(P "${ALIAS_INCLUDE_DIRS}")
-                list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
-            endforeach()
-
-            foreach(P "${ALIAS_LIBRARY_DIRS}")
-                if (${${P}})
-                    list(APPEND HIGHGUI_LIBRARY_DIRS ${${P}})
-                endif()
-            endforeach()
-
-            list(APPEND HIGHGUI_LIBRARIES ${${ALIAS_LIBRARIES}})
-        endif()
-    endif()
-endmacro()
-
-if(UNIX)
-    if(NOT APPLE)
-        CHECK_MODULE(gtk+-2.0 HAVE_GTK)
-        CHECK_MODULE(gthread-2.0 HAVE_GTHREAD)
-        CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER)
-    endif()
-
-    CHECK_MODULE(libunicap HAVE_UNICAP_)
-    CHECK_MODULE(libucil HAVE_UNICAP_UCIL)
-    if(HAVE_UNICAP_ AND HAVE_UNICAP_UCIL)
-        set(HAVE_UNICAP 1)
-    endif()
-
-    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)
-    if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)
-        set(HAVE_FFMPEG 1)
-    endif()
-
-    CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
-    if(NOT HAVE_DC1394_2)
-        CHECK_MODULE(libdc1394 HAVE_DC1394)
-    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)
-
-        CHECK_MODULE(libxine HAVE_XINE)
-               CHECK_MODULE(libv4l1 HAVE_LIBV4L)
-        CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
-        CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
-
-               if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
-                       include(FindPNG)
-                       if(PNG_FOUND)
-                               CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/png.h HAVE_PNG_H)
-                               CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/libpng/png.h HAVE_LIBPNG_PNG_H)
-                       endif()
-                       include(FindJPEG)
-                       include(FindTIFF)
-                       include(FindJasper)
-               endif()
-
-        set(OPENCV_LINKER_LIBS dl m pthread rt)
-    else()
-        add_definitions(-DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H)
-    endif()
-endif()
-
-set(BUILD_PYTHON_SUPPORT OFF CACHE BOOL "Build with Python support")
-set(BUILD_OCTAVE_SUPPORT OFF CACHE BOOL "Build with Octave support")
-
-find_package(SWIG)
-if(SWIG_FOUND)
-
-    find_package(PythonInterp)
-    find_package(PythonLibs)
-    
-    # cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND
-    if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
-        set(PYTHONLIBS_FOUND ON)
-    endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
-    
-    # Build with python if installed:
-    # ===================================================
-    if(PYTHONLIBS_FOUND AND BUILD_PYTHON_SUPPORT)
-        execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
-                  ERROR_VARIABLE PYTHON_VERSION_FULL
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-    
-        string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
-        if(UNIX)
-            set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
-        endif()
-        if(WIN32)
-            get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
-            set(PYTHON_PLUGIN_INSTALL_PATH "${PYTHON_PATH}/Lib/site-packages/opencv")
-        endif()
-    endif()
-
-endif()
-
-if(WIN32)
-
-set(IPP_FOUND)
-foreach(v "6.1" "6.0" "5.3" "5.2" "5.1")
-    if(NOT IPP_FOUND)
-        find_path(IPP_PATH "ippi-${v}.dll"
-            PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}
-            DOC "The path to IPP DLLs")
-        if(IPP_PATH)
-            file(GLOB IPP_HDRS "${IPP_PATH}/../include")
-            if(IPP_HDRS)
-                set(IPP_FOUND TRUE)
-            endif()
-        endif()
-    endif()
-endforeach()
-
-message(STATUS "IPP detected: ${IPP_FOUND}")
-set(USE_IPP ${IPP_FOUND} CACHE BOOL "Use IPP when available")
-
-if(IPP_FOUND AND USE_IPP)
-    add_definitions(-DHAVE_IPP)
-    include_directories("${IPP_PATH}/../include")
-    link_directories("${IPP_PATH}/../lib")
-    set(IPP_LIBS ippsmerged.lib ippsemerged.lib ippimerged.lib ippiemerged.lib
-        ippvmmerged.lib ippvmemerged.lib ippccmerged.lib ippccemerged.lib
-        ippcvmerged.lib ippcvemerged.lib ippcorel.lib)
-endif()
-
-endif()
-
-# ----------------------------------------------------------------------------
-#                              UPDATE CONFIG FILES & SCRIPTS:
-#
-#  CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [@ONLY])
-# If @ONLY is specified, only variables of the form @VAR@ will be
-#  replaces and ${VAR} will be ignored.
-#
-#  A directory will be created for each platform so the "cvconfig.h" file is
-#   not overwritten if cmake generates code in the same path.
-# ----------------------------------------------------------------------------
-add_definitions(-DHAVE_CONFIG_H)
-
-set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")
-
-message(STATUS "Parsing 'cvconfig.h.cmake'")
-configure_file("${CMAKE_SOURCE_DIR}/cvconfig.h.cmake" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
-
-# ---------------------------------------------------------------------------
-# The C+//0 include & link directories:
-# ---------------------------------------------------------------------------
-include_directories("."
-    "${OPENCV_CONFIG_FILE_INCLUDE_DIR}"
-    "${CMAKE_SOURCE_DIR}/include"
-    "${CMAKE_SOURCE_DIR}/include/opencv"
-    )
-
-# ----------------------------------------------------------------------------
-#                      Set the maximum level of warnings:
-# ----------------------------------------------------------------------------
-# Should be set to true for development
-set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
-
-# Whole program optimization?
-set(OPENCV_WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.")
-
-set(EXTRA_C_FLAGS "")
-set(EXTRA_C_FLAGS_RELEASE "")
-set(EXTRA_C_FLAGS_DEBUG "")
-set(EXTRA_EXE_LINKER_FLAGS "")
-set(EXTRA_EXE_LINKER_FLAGS_RELEASE "")
-set(EXTRA_EXE_LINKER_FLAGS_DEBUG "")
-
-if(MSVC)
-    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE")
-    # 64-bit portability warnings, in MSVC8
-    if(MSVC80)
-        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Wp64")
-    endif()
-
-    set(EXTRA_EXE_LINKER_FLAGS_RELEASE "${EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")
-
-    # Whole program optimization
-    if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION AND MSVC_VERSION GREATER 1300)
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /GL")
-        set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
-        set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
-    endif()
-
-    if(OPENCV_ENABLE_OPENMP)
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /openmp")
-    endif()
-
-    # Remove unreferenced functions: function level linking
-    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Gy")
-    set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /Zi")
-endif()
-
-if(CMAKE_COMPILER_IS_GNUCXX)
-    # High level of warnings.
-    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")
-
-    # The -Wno-long-long is required in 64bit systems when including sytem headers.
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
-        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")
-    endif()
-
-    # We need pthread's
-    if(UNIX)
-        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -pthread")
-    endif()
-
-    if(OPENCV_WARNINGS_ARE_ERRORS)
-        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")
-    endif()
-
-    # Whole program optimization
-    if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION)
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine")
-    endif()
-
-    # Other optimizations
-    if(OPENCV_USE_OMIT_FRAME_POINTER)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer")
-    endif()
-    if(OPENCV_USE_O2)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2")
-    endif()
-    if(OPENCV_USE_O3)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3")
-    endif()
-    if(OPENCV_USE_FAST_MATH)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")
-    endif()
-    if(OPENCV_USE_POWERPC)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")
-    endif()
-    if(OPENCV_USE_MMX)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx")
-    endif()
-    # SSE should be disabled under MingW because it generates compiler errors
-    if(OPENCV_USE_SSE)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")
-    endif()
-    # SSE2 should be disabled under MingW because it generates compiler errors
-    if(OPENCV_USE_SSE2)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")
-    endif()
-    # SSE3 should be disabled under MingW because it generates compiler errors
-    if(OPENCV_USE_SSE3 AND NOT MINGW)
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")
-    endif()
-
-    # Profiling?
-    if(OPENCV_ENABLE_PROFILING)
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g")
-    else()
-        # Remove unreferenced functions: function level linking
-        if(NOT APPLE)
-            set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections")
-        endif()
-    endif()
-
-    # Parallel mode
-    if(OPENCV_ENABLE_OPENMP)
-        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -D_GLIBCXX_PARALLEL -fopenmp")
-    endif()
-
-    set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG")
-    set(EXTRA_C_FLAGS_DEBUG "${EXTRA_C_FLAGS_DEBUG} -O0 -DDEBUG -D_DEBUG")
-endif()
-
-
-# Add user supplied extra options (optimization, etc...)
-# ==========================================================
-set(OPENCV_EXTRA_C_FLAGS ${EXTRA_C_FLAGS} CACHE STRING "Extra compiler options" FORCE)
-set(OPENCV_EXTRA_C_FLAGS_RELEASE ${EXTRA_C_FLAGS_RELEASE} CACHE STRING "Extra compiler options for Release build" FORCE)
-set(OPENCV_EXTRA_C_FLAGS_DEBUG ${EXTRA_C_FLAGS_DEBUG} CACHE STRING "Extra compiler options for Debug build" FORCE)
-set(OPENCV_EXTRA_EXE_LINKER_FLAGS ${EXTRA_EXE_LINKER_FLAGS} CACHE STRING "Extra linker flags" FORCE)
-set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE ${EXTRA_EXE_LINKER_FLAGS_RELEASE} CACHE STRING "Extra linker flags for Release build" FORCE)
-set(OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG ${EXTRA_EXE_LINKER_FLAGS_DEBUG} CACHE STRING "Extra linker flags for Debug build" FORCE)
-
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")
-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENCV_EXTRA_EXE_LINKER_FLAGS}")
-set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE}")
-set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG}")
-
-# In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release:
-if (${CMAKE_GENERATOR} MATCHES ".*Makefiles")
-    if("${CMAKE_BUILD_TYPE}" STREQUAL "")
-        set(CMAKE_BUILD_TYPE Release)
-        #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
-        #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}")
-    endif()
-endif()
-
-if (WIN32 AND MSVC)
-    # avoid warnings from MSVC about overriding the /W* option
-    # we replace /W3 with /W4 only for C++ files,
-    # since all the 3rd-party libraries OpenCV uses are in C,
-    # and we do not care about their warnings.
-    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
-    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
-endif()
-
-if("${CMAKE_CONFIGURE_LDFLAGS}")
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_CONFIGURE_LDFLAGS}")
-endif("${CMAKE_CONFIGURE_LDFLAGS}")
-
-# ----------------------------------------------------------------------------
-#                                              PROCESS SUBDIRECTORIES:
-# ----------------------------------------------------------------------------
-# Save libs and executables in the same place
-set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Output directory for libraries" )
-set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )
-
-if(WIN32)
-set(OPENCV_DOC_INSTALL_PATH doc)
-else()
-set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
-endif()
-
-#-----------------------------------
-# Subdirectories:
-#-----------------------------------
-add_subdirectory(src)
-add_subdirectory(apps)
-add_subdirectory(doc)
-add_subdirectory(data)
-
-if(BUILD_EXAMPLES OR INSTALL_PYTHON_EXAMPLES OR INSTALL_OCTAVE_EXAMPLES)
-    add_subdirectory(samples)
-endif()
-
-if(BUILD_TESTS)
-    enable_testing()
-    add_subdirectory(tests)
-endif()
-
-add_subdirectory(interfaces)
-add_subdirectory(3rdparty)
-
-# --------------------------------------------------------------------------------------------
-#   Installation for CMake Module:  OpenCVConfig.cmake
-#  Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"
-#  Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use with "make install"
-#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages
-# -------------------------------------------------------------------------------------------
-
-# -------------------------------------------------------------------------------------------
-#  Part 1/2: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"
-# -------------------------------------------------------------------------------------------
-
-# Name of libraries is: libcv.so.1.1.0, etc...
-#  OPENCV_DLLVERSION must be set to "110", etc..
-# Already done above.
-
-# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
-set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE)
-list(APPEND CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
-list(APPEND CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_SOURCE_DIR}/include")
-list(APPEND CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_SOURCE_DIR}/include/opencv")
-
-set(CMAKE_LIB_DIRS_CONFIGCMAKE ${LIBRARY_OUTPUT_PATH})
-
-configure_file("${CMAKE_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)
-
-# --------------------------------------------------------------------------------------------
-#  Part 2/2: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
-# -------------------------------------------------------------------------------------------
-# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
-
-set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv")
-set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
-
-#exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")
-exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")
-configure_file("${CMAKE_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
-
-if(UNIX)
-    # For a command "FIND_PACKAGE(FOO)", CMake will look at the directory /usr/share|lib/FOO/FOOConfig.cmake, so:
-    install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/opencv/)
-endif()
-
-# --------------------------------------------------------------------------------------------
-#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages
-# -------------------------------------------------------------------------------------------
-if(WIN32)
-       # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
-       
-       # This will expand to, for example, <program files>/OpenCV 1.1.0/include
-       set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\"")
-
-       # This will expand to, for example, <program files>/OpenCV 1.1.0/lib
-       set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")
-
-       #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")
-       exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"")
-       configure_file("${CMAKE_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
-endif()
-
-
-# --------------------------------------------------------------------------------------------
-#  Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
-# prefix=/usr
-# exec_prefix=${prefix}
-# libdir=${exec_prefix}/lib
-# includedir=${prefix}/include/opencv
-# -------------------------------------------------------------------------------------------
-set(prefix             ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix                "\${prefix}")
-set(libdir             "\${exec_prefix}/lib")
-set(includedir         "\${prefix}/include")
-set(VERSION             ${OPENCV_VERSION})
-
-configure_file("${CMAKE_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
-
-if(UNIX)
-    install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
-endif()
-
-
-# ----------------------------------------------------------------------------
-#   Uninstall target, for "make uninstall"
-# ----------------------------------------------------------------------------
-CONFIGURE_FILE(
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-  IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
-  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
-
-# ----------------------------------------------------------------------------
-#   CPack target
-# ----------------------------------------------------------------------------
-
-option(BUILD_PACKAGE "Build a installer with the SDK")
-
-if(BUILD_PACKAGE)
-
-       configure_file(
-       Package.cmake.in
-       ${CMAKE_BINARY_DIR}/.cpack/Package.cmake
-       @ONLY
-       )
-       
-       install(FILES 
-               AUTHORS
-               ChangeLog
-               COPYING
-               INSTALL
-               NEWS
-               README
-               THANKS
-               TODO
-               DESTINATION ${OPENCV_DOC_INSTALL_PATH}
-        COMPONENT doc
-               )
-               
-       include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)
-       
-endif()
-
-# ----------------------------------------------------------------------------
-#   Sumary:
-# ----------------------------------------------------------------------------
-message(STATUS "")
-message(STATUS "General configuration for opencv ${OPENCV_VERSION} =====================================")
-message(STATUS "")
-message(STATUS "    Compiler:                  ${CMAKE_COMPILER}")
-message(STATUS "    C++ flags (Release):       ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
-message(STATUS "    C++ flags (Debug):         ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
-if(WIN32)
-message(STATUS "    Linker flags (Release):    ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
-message(STATUS "    Linker flags (Debug):      ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
-else()
-message(STATUS "    Linker flags (Release):    ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
-message(STATUS "    Linker flags (Debug):      ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
-endif()
-
-if(UNIX)
-if(NOT APPLE)
-message(STATUS "")
-message(STATUS "  GUI: ")
-message(STATUS "    GTK+ 2.x:                  ${HAVE_GTK}")
-message(STATUS "    GThread:                   ${HAVE_GTHREAD}")
-message(STATUS "")
-if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
-message(STATUS "  Image I/O: ")
-message(STATUS "    JPEG:                      ${JPEG_FOUND}")
-message(STATUS "    PNG:                       ${PNG_FOUND}")
-message(STATUS "    TIFF:                      ${TIFF_FOUND}")
-message(STATUS "    JASPER:                    ${JASPER_FOUND}")
-else()
-message(STATUS "  Image I/O: ")
-message(STATUS "    JPEG:                      build")
-message(STATUS "    PNG:                       build")
-message(STATUS "    TIFF:                      build")
-message(STATUS "    JASPER:                    build")
-endif()
-endif()
-message(STATUS "")
-message(STATUS "  Video I/O: ")
-message(STATUS "    DC1394 1.x:                ${HAVE_DC1394}")
-message(STATUS "    DC1394 2.x:                ${HAVE_DC1394_2}")
-message(STATUS "    FFMPEG:                    ${HAVE_FFMPEG}")
-message(STATUS "    GStreamer:                 ${HAVE_GSTREAMER}")
-message(STATUS "    UniCap:                    ${HAVE_UNICAP}")
-if(HAVE_LIBV4L)
-message(STATUS "    V4L/V4L2:                  Using libv4l")
-else()
-message(STATUS "    V4L/V4L2:                  ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")
-endif()
-message(STATUS "    Xine:                      ${HAVE_XINE}")
-endif()
-message(STATUS "")
-message(STATUS "  Interfaces: ")
-if(PYTHONLIBS_FOUND AND BUILD_PYTHON_SUPPORT)
-message(STATUS "    Python:                    1")
-else()
-message(STATUS "    Python:                    0")
-endif()
-if(IPP_FOUND AND USE_IPP)
-message(STATUS "    Use IPP:                   1")
-else()
-message(STATUS "    Use IPP:                   0")
-endif()
-message(STATUS "")
-message(STATUS "    Install path:              ${CMAKE_INSTALL_PREFIX}")
-message(STATUS "")
-message(STATUS "    cvconfig.h is in:          ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
-message(STATUS "-----------------------------------------------------------------")
-message(STATUS "")
-
-#----------------------------------------------------------------------------
-#   Generate the OpenCVConfig.cmake file for unix
-#      installation in CMAKE_INSTALL_PREFIX
-#----------------------------------------------------------------------------
+# ----------------------------------------------------------------------------\r
+#  Root CMake file for OpenCV\r
+#\r
+#    From the off-tree build directory, invoke:\r
+#      $ cmake <PATH_TO_OPENCV_ROOT>\r
+#\r
+#\r
+#   - OCT-2008: Initial version <joseluisblancoc@gmail.com>\r
+#\r
+# ----------------------------------------------------------------------------\r
+\r
+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)\r
+# Add these standard paths to the search paths for FIND_LIBRARY\r
+# to find libraries from these locations first\r
+if(UNIX)\r
+  set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib /usr/lib)\r
+endif()\r
+# it _must_ go before PROJECT(OpenCV) in order to work\r
+if (NOT CMAKE_INSTALL_PREFIX)\r
+    if (WIN32)\r
+        set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR} CACHE INTERNAL "" FORCE)\r
+    elseif()\r
+        set(CMAKE_INSTALL_PREFIX "/usr" CACHE INTERNAL "" FORCE)\r
+    endif()\r
+endif()\r
+\r
+set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)\r
+set(CMAKE_C_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)\r
+set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)\r
+\r
+project(OpenCV)\r
+\r
+cmake_minimum_required(VERSION 2.4)\r
+\r
+if(MSVC)\r
+    set(CMAKE_USE_RELATIVE_PATHS ON CACHE INTERNAL "" FORCE)\r
+endif()\r
+\r
+#set(CMAKE_C_COMPILER "/opt/BullseyeCoverage/bin/gcc")\r
+#set(CMAKE_CXX_COMPILER "/opt/BullseyeCoverage/bin/g++")\r
+#set(CMAKE_CXX_COMPILER_INIT "/opt/BullseyeCoverage/bin/gcc")\r
+\r
+# --------------------------------------------------------------\r
+# Indicate CMake 2.7 and above that we don't want to mix relative\r
+#  and absolute paths in linker lib lists.\r
+# Run "cmake --help-policy CMP0003" for more information.\r
+# --------------------------------------------------------------\r
+if(COMMAND cmake_policy)\r
+    cmake_policy(SET CMP0003 NEW)\r
+endif()\r
+\r
+# ----------------------------------------------------------------------------\r
+#  Current version number:\r
+# ----------------------------------------------------------------------------\r
+set(OPENCV_VERSION "2.1.0")\r
+\r
+string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")\r
+\r
+list(GET OPENCV_VERSION_PARTS 0 OPENCV_VERSION_MAJOR)\r
+list(GET OPENCV_VERSION_PARTS 1 OPENCV_VERSION_MINOR)\r
+list(GET OPENCV_VERSION_PARTS 2 OPENCV_VERSION_PATCH)\r
+\r
+set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")\r
+\r
+if(WIN32)\r
+    # Postfix of DLLs:\r
+    set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")\r
+    set(OPENCV_DEBUG_POSTFIX d)\r
+else()\r
+    # Postfix of so's:\r
+    #set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")\r
+    set(OPENCV_DLLVERSION "")\r
+    set(OPENCV_DEBUG_POSTFIX)\r
+endif()\r
+\r
+\r
+# ----------------------------------------------------------------------------\r
+# Build static or dynamic libs?\r
+# ----------------------------------------------------------------------------\r
+# Default: dynamic libraries:\r
+SET(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)")\r
+IF(BUILD_SHARED_LIBS)\r
+    SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.\r
+ELSE(BUILD_SHARED_LIBS)\r
+    SET(OPENCV_BUILD_SHARED_LIB 0)\r
+ENDIF(BUILD_SHARED_LIBS)\r
+\r
+# ----------------------------------------------------------------------------\r
+#  Variables for cvconfig.h.cmake\r
+# ----------------------------------------------------------------------------\r
+set(PACKAGE "opencv")\r
+set(PACKAGE_BUGREPORT "opencvlibrary-devel@lists.sourceforge.net")\r
+set(PACKAGE_NAME "opencv")\r
+set(PACKAGE_STRING "${PACKAGE} ${OPENCV_VERSION}")\r
+set(PACKAGE_TARNAME "${PACKAGE}")\r
+set(PACKAGE_VERSION "${OPENCV_VERSION}")\r
+\r
+# ----------------------------------------------------------------------------\r
+#  Autodetect if we are in a SVN repository\r
+# ----------------------------------------------------------------------------\r
+find_program(SVNVERSION_PATH svnversion)\r
+mark_as_advanced(force SVNVERSION_PATH)\r
+if(SVNVERSION_PATH)\r
+    message(STATUS "Extracting svn version, please wait...")\r
+    execute_process(COMMAND ${SVNVERSION_PATH} -n ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE SVNVERSION_RESULT)\r
+\r
+    if(SVNVERSION_RESULT MATCHES "exported")\r
+       # This is NOT a svn repository:\r
+       set(OPENCV_SVNVERSION "")\r
+    else()\r
+        set(OPENCV_SVNVERSION " svn:${SVNVERSION_RESULT}")\r
+    endif()\r
+\r
+    message(STATUS "SVNVERSION: ${OPENCV_SVNVERSION}")\r
+else()\r
+    # We don't have svnversion:\r
+    set(OPENCV_SVNVERSION "")\r
+endif()\r
+\r
+# ----------------------------------------------------------------------------\r
+# Detect GNU version:\r
+# ----------------------------------------------------------------------------\r
+if(CMAKE_COMPILER_IS_GNUCXX)\r
+    execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version\r
+                  OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL\r
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)\r
+\r
+    # Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"\r
+    #  Look for the version number\r
+    string(REGEX MATCH "[0-9].[0-9].[0-9]" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")\r
+\r
+    # Split the three parts:\r
+    string(REGEX MATCHALL "[0-9]" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")\r
+\r
+    list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)\r
+    list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)\r
+    \r
+    set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})\r
+    math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")\r
+    message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")\r
+endif()\r
+\r
+# ----------------------------------------------------------------------------\r
+# Detect Intel ICC compiler -- for -fPIC in 3rdparty ( UNIX ONLY ):\r
+#  see  include/opencv/cxtypes.h file for related   ICC & CV_ICC defines.\r
+# NOTE: The system needs to determine if the '-fPIC' option needs to be added\r
+#  for the 3rdparty static libs being compiled.  The CMakeLists.txt files\r
+#  in 3rdparty use the CV_ICC definition being set here to determine if\r
+#  the -fPIC flag should be used.\r
+# ----------------------------------------------------------------------------\r
+if(UNIX)\r
+    if  (__ICL)\r
+        set(CV_ICC   __ICL)\r
+    elseif(__ICC)\r
+        set(CV_ICC   __ICC)\r
+    elseif(__ECL)\r
+        set(CV_ICC   __ECL)\r
+    elseif(__ECC)\r
+        set(CV_ICC   __ECC)\r
+    elseif(__INTEL_COMPILER)\r
+        set(CV_ICC   __INTEL_COMPILER)\r
+    elseif(CMAKE_C_COMPILER MATCHES "icc")\r
+        set(CV_ICC   icc_matches_c_compiler)\r
+    endif()\r
+endif()\r
+\r
+# ----------------------------------------------------------------------------\r
+#       CHECK FOR SYSTEM LIBRARIES, OPTIONS, ETC..\r
+# ----------------------------------------------------------------------------\r
+\r
+# Build/install (or not) some apps:\r
+# ===================================================\r
+set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")\r
+set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")\r
+set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")\r
+set(INSTALL_OCTAVE_EXAMPLES OFF CACHE BOOL "Install Octave examples")\r
+\r
+# Build tests:\r
+# ===================================================\r
+set(BUILD_TESTS ON CACHE BOOL "Build tests")\r
+\r
+# Build 3rdparty libraries under unix\r
+# ===================================================\r
+if(WIN32 OR APPLE)\r
+    set(OPENCV_BUILD_3RDPARTY_LIBS TRUE  CACHE BOOL "Build 3rd party libraries")\r
+else()\r
+    set(OPENCV_BUILD_3RDPARTY_LIBS FALSE CACHE BOOL "Build 3rd party libraries")\r
+endif()\r
+\r
+include(OpenCVPCHSupport.cmake REQUIRED)\r
+\r
+if(UNIX)\r
+    include(OpenCVFindPkgConfig.cmake OPTIONAL)\r
+    include(CheckFunctionExists)\r
+    include(CheckIncludeFile)\r
+endif()\r
+\r
+#if(MSVC)\r
+#   set(DEFAULT_ENABLE_OPENMP ON)\r
+#else()\r
+#   set(DEFAULT_ENABLE_OPENMP OFF)\r
+#endif()\r
+#set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")\r
+\r
+if(CMAKE_COMPILER_IS_GNUCXX)\r
+    set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")\r
+    set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)\r
+        # We can use only -O2 because the -O3 causes gcc crash\r
+        set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")\r
+        set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")\r
+    endif()\r
+    \r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)\r
+        set(X86_64 1)\r
+    endif()\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)\r
+        set(X86_64 1)\r
+    endif()\r
+    \r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)\r
+        set(X86 1)\r
+    endif()\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i386*)\r
+        set(X86 1)\r
+    endif()\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)\r
+        set(X86 1)\r
+    endif()\r
+        \r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)\r
+        set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")\r
+        set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")\r
+    endif ()\r
+    \r
+    if(X86 OR X86_64)\r
+        # enable everything, since the available set of instructions is checked at runtime\r
+        set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")\r
+        set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")\r
+        set(ENABLE_SSE ON CACHE BOOL "Enable SSE for GCC")\r
+        set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")\r
+        set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")\r
+        set(ENABLE_SSSE3 OFF CACHE BOOL "Enable SSSE3 for GCC")\r
+        #set(ENABLE_SSE4_1 OFF CACHE BOOL "Enable SSE4.1 for GCC")\r
+    endif()\r
+endif()\r
+\r
+# allow fine grained control over which libraries not to link, even if\r
+# they are available on the system\r
+# ====================================================================\r
+set(WITH_PNG ON CACHE BOOL "Include PNG support")\r
+set(WITH_JPEG ON CACHE BOOL "Include JPEG support")\r
+set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")\r
+set(WITH_TIFF ON CACHE BOOL "Include TIFF support")\r
+\r
+if(UNIX)\r
+    set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")\r
+    if(NOT APPLE)\r
+        set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")\r
+        set(WITH_GTK ON CACHE BOOL "Include GTK support")\r
+        set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")\r
+        set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")\r
+        set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")\r
+    endif()\r
+    set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")\r
+    set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")\r
+endif()\r
+\r
+if(APPLE)\r
+    set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")\r
+    set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")\r
+endif()\r
+\r
+set(WITH_TBB OFF CACHE BOOL "Include TBB support")\r
+\r
+# ===================================================\r
+# Macros that checks if module have been installed.\r
+# After it adds module to build and define\r
+# constants passed as second arg\r
+# ===================================================\r
+\r
+macro(CHECK_MODULE module_name define)\r
+    set(${define} 0)\r
+    if(PKG_CONFIG_FOUND)\r
+        set(ALIAS               ALIASOF_${module_name})\r
+        set(ALIAS_FOUND                 ${ALIAS}_FOUND)\r
+        set(ALIAS_INCLUDE_DIRS   ${ALIAS}_INCLUDE_DIRS)\r
+        set(ALIAS_LIBRARY_DIRS   ${ALIAS}_LIBRARY_DIRS)\r
+        set(ALIAS_LIBRARIES         ${ALIAS}_LIBRARIES)\r
+\r
+        PKG_CHECK_MODULES(${ALIAS} ${module_name})\r
+\r
+        if (${ALIAS_FOUND})\r
+            set(${define} 1)\r
+            foreach(P "${ALIAS_INCLUDE_DIRS}")\r
+                if (${P})\r
+                    list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})\r
+                endif()    \r
+            endforeach()\r
+\r
+            foreach(P "${ALIAS_LIBRARY_DIRS}")\r
+                if (${P})\r
+                    list(APPEND HIGHGUI_LIBRARY_DIRS ${${P}})\r
+                endif()\r
+            endforeach()\r
+\r
+            list(APPEND HIGHGUI_LIBRARIES ${${ALIAS_LIBRARIES}})\r
+        endif()\r
+    endif()\r
+endmacro()\r
+\r
+if(UNIX)\r
+    if(NOT APPLE)\r
+      if(WITH_GTK)\r
+        CHECK_MODULE(gtk+-2.0 HAVE_GTK)\r
+        CHECK_MODULE(gthread-2.0 HAVE_GTHREAD)\r
+      else()\r
+        set(HAVE_GTK FALSE)\r
+        set(HAVE_GTHREAD FALSE)\r
+      endif()\r
+      if(WITH_GSTREAMER)\r
+        CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER)\r
+        CHECK_MODULE(gstreamer-app-0.10 HAVE_GSTREAMER_APP)\r
+        CHECK_MODULE(gstreamer-video-0.10 HAVE_GSTREAMER)\r
+      else()\r
+        set(HAVE_GSTREAMER FALSE)\r
+      endif()\r
+    endif()\r
+\r
+    if(WITH_UNICAP)\r
+      CHECK_MODULE(libunicap HAVE_UNICAP_)\r
+      CHECK_MODULE(libucil HAVE_UNICAP_UCIL)\r
+      if(HAVE_UNICAP_ AND HAVE_UNICAP_UCIL)\r
+        set(HAVE_UNICAP 1)\r
+      endif()\r
+    else()\r
+      set(HAVE_UNICAP FALSE)\r
+    endif()\r
+    \r
+    if(WITH_PVAPI)\r
+      find_path(PVAPI_INCLUDE_PATH "PvApi.h"\r
+                PATHS "/usr/include" "/usr/local/include"\r
+                DOC "The path to PvAPI header")\r
+      if(PVAPI_INCLUDE_PATH)\r
+        set(HAVE_PVAPI 1)\r
+      endif()\r
+    endif()\r
+\r
+    set(HAVE_FFMPEG 0)\r
+    if(WITH_FFMPEG)\r
+      CHECK_MODULE(libavcodec HAVE_FFMPEG_CODEC)\r
+      CHECK_MODULE(libavformat HAVE_FFMPEG_FORMAT)\r
+      CHECK_MODULE(libavutil HAVE_FFMPEG_UTIL)\r
+      CHECK_MODULE(libswscale HAVE_FFMPEG_SWSCALE)\r
+      CHECK_INCLUDE_FILE(libavformat/avformat.h HAVE_GENTOO_FFMPEG)\r
+      CHECK_INCLUDE_FILE(ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG)\r
+      if(NOT HAVE_GENTOO_FFMPEG AND NOT HAVE_FFMPEG_FFMPEG)\r
+        if(EXISTS /usr/include/ffmpeg/libavformat/avformat.h OR HAVE_FFMPEG_SWSCALE)\r
+          set(HAVE_GENTOO_FFMPEG 1)\r
+        endif()\r
+      endif()\r
+      if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)\r
+        if(HAVE_FFMPEG_SWSCALE OR NOT HAVE_GENTOO_FFMPEG)\r
+            set(HAVE_FFMPEG 1)\r
+        endif()    \r
+      endif()\r
+      # Find the bzip2 library because it is required on some systems\r
+      FIND_LIBRARY(BZIP2_LIBRARIES NAMES bz2 bzip2)\r
+      if(NOT BZIP2_LIBRARIES)\r
+        # Do an other trial\r
+        FIND_FILE(BZIP2_LIBRARIES NAMES libbz2.so.1 PATHS /lib)\r
+      endif()\r
+    endif()\r
+\r
+    if(WITH_1394)\r
+      CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)\r
+      if(NOT HAVE_DC1394_2)\r
+        CHECK_MODULE(libdc1394 HAVE_DC1394)\r
+      endif()\r
+    else()\r
+      set(HAVE_DC1394_2 FALSE)\r
+      set(HAVE_DC1394 FALSE)\r
+    endif()\r
+\r
+    if(NOT APPLE)\r
+        CHECK_INCLUDE_FILE(alloca.h HAVE_ALLOCA_H)\r
+        CHECK_FUNCTION_EXISTS(alloca HAVE_ALLOCA)\r
+        CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)\r
+        CHECK_INCLUDE_FILE(pthread.h HAVE_LIBPTHREAD)\r
+\r
+        if(WITH_XINE)\r
+            CHECK_MODULE(libxine HAVE_XINE)\r
+        else()\r
+            set(HAVE_XINE FALSE)\r
+        endif()\r
+        if(WITH_V4L)\r
+            CHECK_MODULE(libv4l1 HAVE_LIBV4L)\r
+            CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)\r
+            CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)\r
+        else()\r
+            set(HAVE_LIBV4L FALSE)\r
+            set(HAVE_CAMV4L FALSE)\r
+            set(HAVE_CAMV4L2 FALSE)\r
+        endif()\r
+\r
+        if(NOT OPENCV_BUILD_3RDPARTY_LIBS)\r
+            if(WITH_PNG)\r
+                include(FindPNG)\r
+                if(PNG_FOUND)\r
+                    CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/png.h HAVE_PNG_H)\r
+                    CHECK_INCLUDE_FILE(${PNG_PNG_INCLUDE_DIR}/libpng/png.h HAVE_LIBPNG_PNG_H)\r
+                endif()\r
+            else()\r
+                set(PNG_FOUND FALSE)\r
+            endif()\r
+            if(WITH_TIFF)\r
+                include(FindTIFF)\r
+            else()\r
+                set(TIFF_FOUND FALSE)\r
+            endif()\r
+            if(WITH_JASPER)\r
+                include(FindJasper)\r
+            else()\r
+                set(JASPER_FOUND FALSE)\r
+            endif()\r
+            if(WITH_JPEG)\r
+                include(FindJPEG)\r
+            else()\r
+                set(JPEG_FOUND FALSE)\r
+            endif()\r
+        endif()\r
+        \r
+        if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")\r
+            set(OPENCV_LINKER_LIBS m pthread)\r
+        else()\r
+            set(OPENCV_LINKER_LIBS dl m pthread rt)\r
+        endif()\r
+    else()\r
+        add_definitions(-DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_LIBPTHREAD -DHAVE_UNISTD_H)\r
+    endif()\r
+endif()\r
+\r
+set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")\r
+set(BUILD_SWIG_PYTHON_SUPPORT OFF CACHE BOOL "Build with older SWIG-based Python support")\r
+set(BUILD_OCTAVE_SUPPORT OFF CACHE BOOL "Build with Octave support")\r
+\r
+if(BUILD_SWIG_PYTHON_SUPPORT OR BUILD_NEW_PYTHON_SUPPORT)\r
+    find_package(PythonInterp)\r
+    find_package(PythonLibs)\r
+\r
+    # cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND\r
+    if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)\r
+        set(PYTHONLIBS_FOUND ON)\r
+    endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)\r
+        \r
+    execute_process(COMMAND ${PYTHON_EXECUTABLE} --version\r
+              ERROR_VARIABLE PYTHON_VERSION_FULL\r
+              OUTPUT_STRIP_TRAILING_WHITESPACE)\r
+\r
+    string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")\r
+    if(UNIX)\r
+        set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)\r
+        set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)\r
+    endif()\r
+    if(WIN32)\r
+        get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)\r
+        set(PYTHON_PLUGIN_INSTALL_PATH "${PYTHON_PATH}/Lib/site-packages/opencv")\r
+        set(PYTHON_PACKAGES_PATH "${PYTHON_PATH}/Lib/site-packages")\r
+    endif()\r
+\r
+    # Attempt to discover the NumPy include directory.  If this succeeds, build with NumPy\r
+\r
+    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"\r
+                    RESULT_VARIABLE PYTHON_NUMPY_PROCESS\r
+                    OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS\r
+                    OUTPUT_STRIP_TRAILING_WHITESPACE)\r
+    if(PYTHON_NUMPY_PROCESS EQUAL 0)\r
+      set(PYTHON_USE_NUMPY 1)\r
+      add_definitions(-D PYTHON_USE_NUMPY=1)\r
+      include_directories(AFTER ${PYTHON_NUMPY_INCLUDE_DIRS})\r
+      message(STATUS "    Use INCLUDE: ${PYTHON_NUMPY_INCLUDE_DIRS}")\r
+    else()\r
+      set(PYTHON_USE_NUMPY 0)\r
+    endif()\r
+\r
+\r
+endif()\r
+    \r
+if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)\r
+    find_package(SWIG)\r
+endif()\r
+\r
+############################### TBB ################################\r
+\r
+if (WITH_TBB)\r
+    if (UNIX AND NOT APPLE)\r
+        PKG_CHECK_MODULES(TBB tbb)\r
+        message(STATUS "TBB detected: ${TBBLIB_FOUND}")\r
+            \r
+        if (TBB_FOUND) \r
+            set(HAVE_TBB 1)\r
+            if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")\r
+                include_directories("${TBB_INCLUDE_DIRS}")\r
+            endif()\r
+            link_directories("${TBB_LIBRARY_DIRS}")\r
+            set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIBRARIES})\r
+        else()\r
+            set(TBB_DEFAULT_INCLUDE_DIRS\r
+              "/opt/intel/tbb"\r
+              "/usr/local/include"\r
+              "/usr/include")  \r
+        endif()\r
+    endif()        \r
+    if (APPLE)\r
+        set(TBB_DEFAULT_INCLUDE_DIRS\r
+          "/usr/include"\r
+          "/usr/local/include")  \r
+    endif() \r
+    if (WIN32)\r
+        set(TBB_DEFAULT_INCLUDE_DIRS\r
+          "C:/Program Files/Intel/TBB"\r
+          "C:/Program Files (x86)/Intel/TBB")     \r
+    endif()    \r
+    if (NOT HAVE_TBB)\r
+        find_path(TBB_INCLUDE_DIR "tbb/tbb.h"\r
+                  PATHS TBB_DEFAULT_INCLUDE_DIRS\r
+                  DOC "The path to TBB headers")\r
+        if (TBB_INCLUDE_DIR)\r
+            if (UNIX)\r
+                set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")\r
+                link_directories("${TBB_LIB_DIR}")\r
+            endif()\r
+            if (APPLE)\r
+                set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} libtbb.dylib)\r
+            elseif (UNIX)\r
+                set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)\r
+            elseif (WIN32)\r
+               if (CMAKE_COMPILER_IS_GNUCXX)\r
+                   set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")\r
+                   link_directories("${TBB_LIB_DIR}")\r
+                   set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)\r
+               else()\r
+                   if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)\r
+                       set(X86_64 1)\r
+                   endif()\r
+                   if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)\r
+                       set(X86_64 1)\r
+                   endif()\r
+                   if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)\r
+                       set(X86 1)\r
+                   endif()\r
+                   if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i386*)\r
+                       set(X86 1)\r
+                   endif()\r
+                   if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)\r
+                       set(X86 1)\r
+                   endif()\r
+                   \r
+                   set(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib")\r
+                   if (X86_64)\r
+                       set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")\r
+                   elseif(X86)\r
+                       set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/ia32")\r
+                   endif()\r
+                   if (MSVC80)\r
+                       set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc8")\r
+                   elseif(MSVC90)\r
+                       set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc9")\r
+                   endif()\r
+                   set(TBB_LIB_DIR "${_TBB_LIB_PATH}" CACHE PATH "Full path of TBB library directory")\r
+                   link_directories("${TBB_LIB_DIR}")\r
+               endif()\r
+            endif()\r
+            \r
+            set(HAVE_TBB 1)\r
+            if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")\r
+                include_directories("${TBB_INCLUDE_DIR}")\r
+            endif()\r
+        endif()\r
+    endif()\r
+endif()\r
+\r
+############################### IPP ################################\r
+set(IPP_FOUND)\r
+set(OPENCV_LOADER_PATH)\r
+\r
+if(UNIX)\r
+if(APPLE)\r
+    set(OPENCV_LOADER_PATH DYLD_LIBRARY_PATH)\r
+else()\r
+    set(OPENCV_LOADER_PATH LD_LIBRARY_PATH)\r
+endif()\r
+endif()\r
+\r
+foreach(v "6.1" "6.0" "5.3" "5.2" "5.1")\r
+    if(NOT IPP_FOUND)\r
+        if(WIN32)\r
+            find_path(IPP_PATH "ippi-${v}.dll"\r
+                PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}\r
+                DOC "The path to IPP dynamic libraries")\r
+            if(NOT IPP_PATH)\r
+                find_path(IPP_PATH "ippiem64t-${v}.dll"\r
+                    PATHS ${CMAKE_PROGRAM_PATH} ${CMAKE_SYSTEM_PROGRAM_PATH}\r
+                    DOC "The path to IPP dynamic libraries")\r
+            endif()\r
+        endif()\r
+        if(UNIX)\r
+            find_path(IPP_PATH "libippi${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"\r
+                PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}\r
+                DOC "The path to IPP dynamic libraries")\r
+            if(NOT IPP_PATH)\r
+                find_path(IPP_PATH "libippiem64t${CMAKE_SHARED_LIBRARY_SUFFIX}.${v}"\r
+                    PATHS ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH} ENV ${OPENCV_LOADER_PATH}\r
+                    DOC "The path to IPP dynamic libraries")\r
+            endif()\r
+        endif()\r
+        if(IPP_PATH)\r
+            file(GLOB IPP_HDRS "${IPP_PATH}/../include")\r
+            if(IPP_HDRS)\r
+                set(IPP_FOUND TRUE)\r
+            endif()\r
+        endif()\r
+    endif()\r
+endforeach()\r
+\r
+message(STATUS "IPP detected: ${IPP_FOUND}")\r
+\r
+if(WIN32 AND NOT MSVC)\r
+    set(IPP_FOUND)\r
+endif()\r
+\r
+set(USE_IPP ${IPP_FOUND} CACHE BOOL "Use IPP when available")\r
+\r
+if(IPP_FOUND AND USE_IPP)\r
+    add_definitions(-DHAVE_IPP)\r
+    include_directories("${IPP_PATH}/../include")\r
+    link_directories("${IPP_PATH}/../lib")\r
+    \r
+    file(GLOB em64t_files "${IPP_PATH}/../lib/*em64t*")\r
+    set(IPP_ARCH)\r
+    if(em64t_files)\r
+        set(IPP_ARCH "em64t")\r
+    endif()\r
+    \r
+    set(A ${CMAKE_STATIC_LIBRARY_PREFIX})\r
+    set(B ${IPP_ARCH}${CMAKE_STATIC_LIBRARY_SUFFIX})\r
+    if(WIN32)\r
+        set(L l)\r
+    else()\r
+        set(L)\r
+    endif()\r
+    set(IPP_LIBS ${A}ippsmerged${B} ${A}ippsemerged${B}\r
+                 ${A}ippimerged${B} ${A}ippiemerged${B}\r
+                 ${A}ippvmmerged${B} ${A}ippvmemerged${B}\r
+                 ${A}ippccmerged${B} ${A}ippccemerged${B}\r
+                 ${A}ippcvmerged${B} ${A}ippcvemerged${B}\r
+                 ${A}ippcore${IPP_ARCH}${L}${CMAKE_STATIC_LIBRARY_SUFFIX})\r
+endif()\r
+\r
+\r
+################## LATEX ##################\r
+set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")\r
+\r
+# ----------------------------------------------------------------------------\r
+#                   UPDATE CONFIG FILES & SCRIPTS:\r
+#\r
+#  CONFIGURE_FILE(InputFile OutputFile [COPYONLY] [ESCAPE_QUOTES] [@ONLY])\r
+# If @ONLY is specified, only variables of the form @VAR@ will be\r
+#  replaces and ${VAR} will be ignored.\r
+#\r
+#  A directory will be created for each platform so the "cvconfig.h" file is\r
+#   not overwritten if cmake generates code in the same path.\r
+# ----------------------------------------------------------------------------\r
+add_definitions(-DHAVE_CONFIG_H)\r
+\r
+set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")\r
+\r
+message(STATUS "Parsing 'cvconfig.h.cmake'")\r
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cvconfig.h.cmake" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")\r
+\r
+# ---------------------------------------------------------------------------\r
+# The C+//0 include & link directories:\r
+# ---------------------------------------------------------------------------\r
+include_directories("."\r
+    "${OPENCV_CONFIG_FILE_INCLUDE_DIR}"\r
+    "${CMAKE_CURRENT_SOURCE_DIR}/include"\r
+    "${CMAKE_CURRENT_SOURCE_DIR}/include/opencv"\r
+    )\r
+\r
+# ----------------------------------------------------------------------------\r
+#           Set the maximum level of warnings:\r
+# ----------------------------------------------------------------------------\r
+# Should be set to true for development\r
+set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")\r
+\r
+set(EXTRA_C_FLAGS "")\r
+set(EXTRA_C_FLAGS_RELEASE "")\r
+set(EXTRA_C_FLAGS_DEBUG "")\r
+set(EXTRA_EXE_LINKER_FLAGS "")\r
+set(EXTRA_EXE_LINKER_FLAGS_RELEASE "")\r
+set(EXTRA_EXE_LINKER_FLAGS_DEBUG "")\r
+\r
+if(MSVC)\r
+    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS")\r
+    # 64-bit portability warnings, in MSVC8\r
+    if(MSVC80)\r
+        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Wp64")\r
+    endif()\r
+    #if(MSVC90)\r
+    #    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /D _BIND_TO_CURRENT_CRT_VERSION=1 /D _BIND_TO_CURRENT_VCLIBS_VERSION=1")\r
+    #endif()\r
+\r
+    set(EXTRA_EXE_LINKER_FLAGS_RELEASE "${EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")\r
+\r
+    #if(ENABLE_OPENMP)\r
+    #    set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /openmp")\r
+    #endif()\r
+\r
+    # Remove unreferenced functions: function level linking\r
+    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /Gy")\r
+    set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /Zi")\r
+endif()\r
+\r
+if(CMAKE_COMPILER_IS_GNUCXX)\r
+\r
+    if(WIN32)\r
+        if(CMAKE_CXX_COMPILER MATCHES "64")\r
+            set(MINGW64 1)\r
+        endif()\r
+    endif()\r
+\r
+    # High level of warnings.\r
+    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall")\r
+\r
+    # The -Wno-long-long is required in 64bit systems when including sytem headers.\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)\r
+    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")\r
+    endif()\r
+    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)\r
+    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long")\r
+    endif()\r
+\r
+    # We need pthread's\r
+    if(UNIX)\r
+        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -pthread")\r
+    endif()\r
+\r
+    if(OPENCV_WARNINGS_ARE_ERRORS)\r
+        set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")\r
+    endif()\r
+\r
+    if(X86)\r
+        if(NOT X86_64)\r
+            if(NOT APPLE)\r
+                set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -march=i686")\r
+            endif()\r
+        endif()\r
+    endif()\r
+\r
+    # Other optimizations\r
+    if(USE_OMIT_FRAME_POINTER)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer")\r
+    endif()\r
+    if(USE_O2)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2")\r
+    endif()\r
+    if(USE_O3)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3")\r
+    endif()\r
+    if(USE_FAST_MATH)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")\r
+    endif()\r
+    if(ENABLE_POWERPC)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")\r
+    endif()\r
+    if(ENABLE_SSE)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")\r
+    endif()\r
+    if(ENABLE_SSE2)\r
+       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")\r
+    endif()\r
+    # SSE3 and further should be disabled under MingW because it generates compiler errors\r
+    if(NOT MINGW)\r
+       if(ENABLE_SSE3)\r
+          set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")\r
+       endif()\r
+       if(${CMAKE_OPENCV_GCC_VERSION_NUM} GREATER 402)\r
+          set(HAVE_GCC43_OR_NEWER 1)\r
+       endif()\r
+       if(HAVE_GCC43_OR_NEWER OR APPLE)\r
+          if(ENABLE_SSSE3)\r
+             set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mssse3")\r
+          endif()\r
+          #if(ENABLE_SSE4_1)\r
+          #   set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse4.1")\r
+          #endif()\r
+       endif()\r
+    endif()\r
+    \r
+    if(X86 OR X86_64)\r
+        if(NOT APPLE)\r
+            if(${CMAKE_SIZEOF_VOID_P} EQUAL 4)\r
+                set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mfpmath=387")\r
+            endif()\r
+        endif()\r
+    endif()\r
+\r
+    # Profiling?\r
+    if(ENABLE_PROFILING)\r
+        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g")\r
+    else()\r
+        # Remove unreferenced functions: function level linking\r
+        if(NOT APPLE)\r
+            set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections")\r
+        endif()\r
+    endif()\r
+\r
+    # Parallel mode\r
+    #if(ENABLE_OPENMP)\r
+    #    set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -D_GLIBCXX_PARALLEL -fopenmp")\r
+    #    set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} gomp)\r
+    #endif()\r
+\r
+    set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG")\r
+    set(EXTRA_C_FLAGS_DEBUG "${EXTRA_C_FLAGS_DEBUG} -O0 -DDEBUG -D_DEBUG")\r
+endif()\r
+\r
+# Extra link libs if the user selects building static libs:\r
+IF(NOT BUILD_SHARED_LIBS)\r
+    if(CMAKE_COMPILER_IS_GNUCXX)\r
+        set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} stdc++)\r
+    endif()\r
+\r
+    set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} flann zlib opencv_lapack)\r
+endif()\r
+\r
+\r
+# Add user supplied extra options (optimization, etc...)\r
+# ==========================================================\r
+set(OPENCV_EXTRA_C_FLAGS "" CACHE STRING "Extra compiler options")\r
+set(OPENCV_EXTRA_C_FLAGS_RELEASE "" CACHE STRING "Extra compiler options for Release build")\r
+set(OPENCV_EXTRA_C_FLAGS_DEBUG "" CACHE STRING "Extra compiler options for Debug build")\r
+set(OPENCV_EXTRA_EXE_LINKER_FLAGS "" CACHE STRING "Extra linker flags" FORCE)\r
+set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "Extra linker flags for Release build" FORCE)\r
+set(OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "Extra linker flags for Debug build" FORCE)\r
+\r
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")\r
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} ${OPENCV_EXTRA_C_FLAGS}")\r
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")\r
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${EXTRA_C_FLAGS_RELEASE} ${OPENCV_EXTRA_C_FLAGS_RELEASE}")\r
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")\r
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${EXTRA_C_FLAGS_DEBUG} ${OPENCV_EXTRA_C_FLAGS_DEBUG}")\r
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS} ${OPENCV_EXTRA_EXE_LINKER_FLAGS}")\r
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE}")\r
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG} ${OPENCV_EXTRA_EXE_LINKER_FLAGS_DEBUG}")\r
+\r
+# In case of Makefiles if the user does not setup CMAKE_BUILD_TYPE, assume it's Release:\r
+if (${CMAKE_GENERATOR} MATCHES ".*Makefiles")\r
+    if("${CMAKE_BUILD_TYPE}" STREQUAL "")\r
+        set(CMAKE_BUILD_TYPE Release)\r
+    endif()\r
+endif()\r
+\r
+if (WIN32 AND MSVC)\r
+    # avoid warnings from MSVC about overriding the /W* option\r
+    # we replace /W3 with /W4 only for C++ files,\r
+    # since all the 3rd-party libraries OpenCV uses are in C,\r
+    # and we do not care about their warnings.\r
+    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")\r
+    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")\r
+    string(REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")\r
+\r
+    # allow extern "C" functions throw exceptions\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")\r
+    string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")\r
+endif()\r
+\r
+if("${CMAKE_CONFIGURE_LDFLAGS}")\r
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_CONFIGURE_LDFLAGS}")\r
+endif("${CMAKE_CONFIGURE_LDFLAGS}")\r
+\r
+# ----------------------------------------------------------------------------\r
+#                       PROCESS SUBDIRECTORIES:\r
+# ----------------------------------------------------------------------------\r
+# Save libs and executables in the same place\r
+set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Output directory for libraries" )\r
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )\r
+\r
+if(WIN32)\r
+set(OPENCV_DOC_INSTALL_PATH doc)\r
+else()\r
+set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)\r
+endif()\r
+\r
+# --------------------------------------------------------------------------------------------\r
+#   Installation for CMake Module:  OpenCVConfig.cmake\r
+#  Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"\r
+#  Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use with "make install"\r
+#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages\r
+# -------------------------------------------------------------------------------------------\r
+\r
+# -------------------------------------------------------------------------------------------\r
+#  Part 1/3: ${BIN_DIR}/OpenCVConfig.cmake              -> For use *without* "make install"\r
+# -------------------------------------------------------------------------------------------\r
+\r
+# Name of libraries is: libcv.so.1.1.0, etc...\r
+#  OPENCV_DLLVERSION must be set to "110", etc..\r
+# Already done above.\r
+\r
+# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:\r
+set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"${OPENCV_CONFIG_FILE_INCLUDE_DIR}\" \"${CMAKE_CURRENT_SOURCE_DIR}/include\" \"${CMAKE_CURRENT_SOURCE_DIR}/include/opencv\"")\r
+\r
+set(CMAKE_LIB_DIRS_CONFIGCMAKE "${LIBRARY_OUTPUT_PATH}")\r
+\r
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
+\r
+# --------------------------------------------------------------------------------------------\r
+#  Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"\r
+# -------------------------------------------------------------------------------------------\r
+# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:\r
+\r
+set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv")\r
+set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")\r
+\r
+#exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")\r
+exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")\r
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
+\r
+if(UNIX)\r
+    # For a command "FIND_PACKAGE(FOO)", CMake will look at the directory /usr/share|lib/FOO/FOOConfig.cmake, so:\r
+    install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/opencv/)\r
+endif()\r
+\r
+# --------------------------------------------------------------------------------------------\r
+#  Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake  -> For use within binary installers/packages\r
+# -------------------------------------------------------------------------------------------\r
+if(WIN32)\r
+    # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:\r
+    \r
+    # This will expand to, for example, <program files>/OpenCV 1.1.0/include\r
+    set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")\r
+\r
+    # This will expand to, for example, <program files>/OpenCV 1.1.0/lib\r
+    set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")\r
+\r
+    #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")\r
+    exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"")\r
+    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)\r
+endif()\r
+\r
+\r
+# --------------------------------------------------------------------------------------------\r
+#  Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"\r
+# prefix=/usr\r
+# exec_prefix=${prefix}\r
+# libdir=${exec_prefix}/lib\r
+# includedir=${prefix}/include/opencv\r
+# -------------------------------------------------------------------------------------------\r
+set(prefix      ${CMAKE_INSTALL_PREFIX})\r
+set(exec_prefix     "\${prefix}")\r
+set(libdir      "\${exec_prefix}/lib")\r
+set(includedir      "\${prefix}/include")\r
+set(VERSION             ${OPENCV_VERSION})\r
+\r
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)\r
+\r
+if(UNIX)\r
+    install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)\r
+endif()\r
+\r
+\r
+# ----------------------------------------------------------------------------\r
+#   Uninstall target, for "make uninstall"\r
+# ----------------------------------------------------------------------------\r
+CONFIGURE_FILE(\r
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"\r
+  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"\r
+  IMMEDIATE @ONLY)\r
+\r
+ADD_CUSTOM_TARGET(uninstall\r
+  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")\r
+\r
+\r
+# ----------------------------------------------------------------------------\r
+#   CPack target\r
+# ----------------------------------------------------------------------------\r
+\r
+set(BUILD_PACKAGE OFF CACHE BOOL "Build a installer with the SDK")\r
+\r
+if(BUILD_PACKAGE)\r
+\r
+    configure_file(\r
+    Package.cmake.in\r
+    ${CMAKE_BINARY_DIR}/.cpack/Package.cmake\r
+    @ONLY\r
+    )\r
+    \r
+    include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)\r
+\r
+    set(root_files README)\r
+\r
+    file(GLOB root_src_files *.in *.cmake CMakeLists.txt)\r
+\r
+    if (NOT WIN32)\r
+        install(FILES ${root_files}\r
+                DESTINATION ${OPENCV_DOC_INSTALL_PATH}\r
+                COMPONENT main)\r
+    else()\r
+        install(FILES ${root_files}\r
+                DESTINATION "."\r
+                COMPONENT main)\r
+        install(FILES ${root_src_files}\r
+                DESTINATION "."\r
+                COMPONENT src)\r
+        # Add the "win-install/OpenCVConfig.cmake" file to the "main" install component \r
+        install(FILES \r
+            "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake"\r
+            DESTINATION "."\r
+            COMPONENT main\r
+            )\r
+\r
+        if(CMAKE_INSTALL_DEBUG_LIBRARIES)\r
+            foreach(m cxcore cv cvaux ml highgui opencv_ffmpeg)\r
+                install(FILES ${CMAKE_BINARY_DIR}/bin/Debug/${m}${OPENCV_DLLVERSION}d.dll\r
+            DESTINATION bin COMPONENT main)\r
+                install(FILES ${CMAKE_BINARY_DIR}/lib/Debug/${m}${OPENCV_DLLVERSION}d.lib\r
+            DESTINATION lib COMPONENT main)\r
+            endforeach()     \r
+        endif()\r
+\r
+        install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE)\r
+        install(DIRECTORY 3rdparty apps interfaces src tests utils DESTINATION "." COMPONENT src PATTERN ".svn" EXCLUDE)\r
+        install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex")\r
+        install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)\r
+        install(DIRECTORY doc/plastex DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)\r
+    \r
+    endif()\r
+endif()\r
+\r
+\r
+#-----------------------------------\r
+# Subdirectories:\r
+#-----------------------------------\r
+add_subdirectory(src)\r
+add_subdirectory(apps)\r
+\r
+if(BUILD_LATEX_DOCS)\r
+  include(OpenCVFindLATEX.cmake REQUIRED)\r
+    \r
+  if(PDFLATEX_COMPILER)\r
+    message(STATUS "PDF LaTeX found!")\r
+  endif()\r
+endif()\r
+\r
+add_subdirectory(doc)\r
+add_subdirectory(data)\r
+\r
+if(BUILD_EXAMPLES OR INSTALL_PYTHON_EXAMPLES OR INSTALL_OCTAVE_EXAMPLES)\r
+    add_subdirectory(samples)\r
+endif()\r
+\r
+if(BUILD_TESTS)\r
+    enable_testing()\r
+    add_subdirectory(tests)\r
+endif()\r
+\r
+add_subdirectory(interfaces)\r
+add_subdirectory(3rdparty)\r
+\r
+\r
+# ----------------------------------------------------------------------------\r
+#   Sumary:\r
+# ----------------------------------------------------------------------------\r
+message(STATUS "")\r
+message(STATUS "General configuration for opencv ${OPENCV_VERSION} =====================================")\r
+message(STATUS "")\r
+message(STATUS "    Built as dynamic libs?:    ${BUILD_SHARED_LIBS}")\r
+message(STATUS "    Compiler:                  ${CMAKE_COMPILER}")\r
+message(STATUS "    C++ flags (Release):       ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")\r
+message(STATUS "    C++ flags (Debug):         ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")\r
+if(WIN32)\r
+message(STATUS "    Linker flags (Release):    ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")\r
+message(STATUS "    Linker flags (Debug):      ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")\r
+else()\r
+message(STATUS "    Linker flags (Release):    ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")\r
+message(STATUS "    Linker flags (Debug):      ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")\r
+endif()\r
+\r
+if(UNIX AND NOT APPLE)\r
+message(STATUS "")\r
+message(STATUS "  GUI: ")\r
+message(STATUS "    GTK+ 2.x:                  ${HAVE_GTK}")\r
+message(STATUS "    GThread:                   ${HAVE_GTHREAD}")\r
+message(STATUS "")\r
+endif()\r
+\r
+if(APPLE)\r
+message(STATUS "")\r
+if(HAVE_CARBON)\r
+message(STATUS "  GUI Back-end:                Carbon")\r
+else()\r
+message(STATUS "  GUI Back-end:                Cocoa")\r
+endif()\r
+message(STATUS "")\r
+endif() \r
+\r
+message(STATUS "  Image I/O: ")\r
+if(NOT WITH_JPEG OR JPEG_FOUND)\r
+message(STATUS "    JPEG:                      ${JPEG_FOUND}")\r
+else()\r
+message(STATUS "    JPEG:                      build")\r
+endif()\r
+\r
+if(NOT WITH_PNG OR PNG_FOUND)\r
+message(STATUS "    PNG:                       ${PNG_FOUND}")\r
+else()\r
+message(STATUS "    PNG:                       build")\r
+endif()\r
+\r
+if(NOT WITH_TIFF OR TIFF_FOUND)\r
+message(STATUS "    TIFF:                      ${TIFF_FOUND}")\r
+else()\r
+message(STATUS "    TIFF:                      build")\r
+endif()\r
+\r
+if(NOT WITH_JASPER OR JASPER_FOUND)\r
+message(STATUS "    JPEG 2000:                 ${JASPER_FOUND}")\r
+else()\r
+message(STATUS "    JPEG 2000:                 build")\r
+endif()\r
+\r
+if(UNIX AND NOT APPLE)\r
+message(STATUS "")\r
+message(STATUS "  Video I/O: ")\r
+message(STATUS "    DC1394 1.x:                ${HAVE_DC1394}")\r
+message(STATUS "    DC1394 2.x:                ${HAVE_DC1394_2}")\r
+message(STATUS "    FFMPEG:                    ${HAVE_FFMPEG}")\r
+message(STATUS "      codec:                   ${HAVE_FFMPEG_CODEC}")\r
+message(STATUS "      format:                  ${HAVE_FFMPEG_FORMAT}")\r
+message(STATUS "      util:                    ${HAVE_FFMPEG_UTIL}")\r
+message(STATUS "      swscale:                 ${HAVE_FFMPEG_SWSCALE}")\r
+message(STATUS "      gentoo-style:            ${HAVE_GENTOO_FFMPEG}")\r
+message(STATUS "    GStreamer:                 ${HAVE_GSTREAMER}")\r
+message(STATUS "    UniCap:                    ${HAVE_UNICAP}")\r
+message(STATUS "    PvAPI:                     ${HAVE_PVAPI}")\r
+if(HAVE_LIBV4L)\r
+message(STATUS "    V4L/V4L2:                  Using libv4l")\r
+else()\r
+message(STATUS "    V4L/V4L2:                  ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")\r
+endif()\r
+message(STATUS "    Xine:                      ${HAVE_XINE}")\r
+endif()\r
+\r
+if(APPLE)\r
+message(STATUS "")\r
+if(WITH_QUICKTIME)\r
+message(STATUS "  Video I/O:                   QuickTime")\r
+else()\r
+message(STATUS "  Video I/O:                   QTKit")\r
+endif()\r
+endif()\r
+\r
+message(STATUS "")\r
+message(STATUS "  Interfaces: ")\r
+if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)\r
+message(STATUS "    Old Python:                1")\r
+else()\r
+message(STATUS "    Old Python:                0")\r
+endif()\r
+message(STATUS "    Python:                    ${BUILD_NEW_PYTHON_SUPPORT}")\r
+message(STATUS "    Python interpreter:        ${PYTHON_EXECUTABLE}")\r
+message(STATUS "    Python numpy:              ${PYTHON_USE_NUMPY}")\r
+\r
+if(IPP_FOUND AND USE_IPP)\r
+message(STATUS "    Use IPP:                   ${IPP_PATH}")\r
+else()\r
+message(STATUS "    Use IPP:                   NO")\r
+endif()\r
+\r
+if(HAVE_TBB)\r
+message(STATUS "    Use TBB:                   YES")\r
+else()\r
+message(STATUS "    Use TBB:                   NO")\r
+endif()\r
+\r
+if(BUILD_LATEX_DOCS AND PDFLATEX_COMPILER)\r
+message(STATUS "    Build Documentation        1")\r
+else()\r
+message(STATUS "    Build Documentation        0")\r
+endif()\r
+message(STATUS "")\r
+message(STATUS "    Install path:              ${CMAKE_INSTALL_PREFIX}")\r
+message(STATUS "")\r
+message(STATUS "    cvconfig.h is in:          ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")\r
+message(STATUS "-----------------------------------------------------------------")\r
+message(STATUS "")\r
+\r
+#----------------------------------------------------------------------------\r
+#   Generate the OpenCVConfig.cmake file for unix\r
+#      installation in CMAKE_INSTALL_PREFIX\r
+#----------------------------------------------------------------------------\r