]> 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 d8d516d84cf0e591a982428c98c35de45c27b7a8..01830f34ed4a431c7b961bab7192a02a774c53ef 100644 (file)
@@ -60,7 +60,7 @@ endif()
 # ----------------------------------------------------------------------------\r
 #  Current version number:\r
 # ----------------------------------------------------------------------------\r
-set(OPENCV_VERSION "2.0.0")\r
+set(OPENCV_VERSION "2.1.0")\r
 \r
 string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")\r
 \r
@@ -88,9 +88,9 @@ endif()
 # 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
+    SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.\r
 ELSE(BUILD_SHARED_LIBS)\r
-       SET(OPENCV_BUILD_SHARED_LIB 0)\r
+    SET(OPENCV_BUILD_SHARED_LIB 0)\r
 ENDIF(BUILD_SHARED_LIBS)\r
 \r
 # ----------------------------------------------------------------------------\r
@@ -142,9 +142,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
 \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
+    \r
     set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})\r
-    message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION}")\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
@@ -156,19 +157,19 @@ endif()
 #  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
+    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
@@ -202,12 +203,12 @@ if(UNIX)
     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
+#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
@@ -217,44 +218,39 @@ if(CMAKE_COMPILER_IS_GNUCXX)
         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(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")\r
-        set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")\r
-        set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")\r
-        set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")\r
-        set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")\r
-        set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")\r
+        set(X86_64 1)\r
     endif()\r
     if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)\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(USE_MMX ON CACHE BOOL "Enable MMX for GCC")\r
-        set(USE_SSE ON CACHE BOOL "Enable SSE for GCC")\r
-        set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC")\r
-        set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC")\r
+        set(X86_64 1)\r
     endif()\r
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)\r
-        set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")\r
-        set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")\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(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")\r
-        set(USE_MMX ON CACHE BOOL "Enable MMX for GCC")\r
-        set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")\r
-        set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")\r
-        set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")\r
-    # SSE/SSE2 might probably be not available for some old AMD or VIA processors\r
+        set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")\r
     endif ()\r
-    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86)\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(USE_MMX ON CACHE BOOL "Enable MMX for GCC")\r
-        set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC")\r
-        set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC")\r
-        set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC")\r
-    # SSE/SSE2 might probably be not available for some old AMD or VIA processors\r
-    endif ()\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
@@ -267,16 +263,23 @@ set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
 \r
 if(UNIX)\r
     set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")\r
-    set(WITH_UNICAP ON CACHE BOOL "Include Unicap 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_GTK ON CACHE BOOL "Include GTK support")\r
-    set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")\r
     set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")\r
-    set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")\r
-    set(WITH_XINE ON CACHE BOOL "Include Xine support")\r
 endif()\r
 \r
-set(WITH_TBB ON CACHE BOOL "Include TBB support")\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
@@ -477,11 +480,13 @@ if(BUILD_SWIG_PYTHON_SUPPORT OR BUILD_NEW_PYTHON_SUPPORT)
 \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_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("${PYTHON_NUMPY_INCLUDE_DIRS}")\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
@@ -496,35 +501,89 @@ endif()
 ############################### TBB ################################\r
 \r
 if (WITH_TBB)\r
-    if (WIN32 OR APPLE)\r
-        include(OpenCVFindTBB.cmake)\r
-        if (TBB_FOUND)\r
-            set(HAVE_TBB 1)\r
-\r
-            if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")\r
-                include_directories("${TBB_INCLUDE_DIRS}")\r
-            endif()\r
-\r
-            link_directories("${TBB_LIBRARY_DIRS}")\r
-            if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")\r
-                set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_DEBUG_LIBRARIES})\r
-            else()\r
-                set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIBRARIES})\r
-            endif()\r
-        endif()\r
-    else()\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
+            \r
+        if (TBB_FOUND) \r
             set(HAVE_TBB 1)\r
-\r
             if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")\r
                 include_directories("${TBB_INCLUDE_DIRS}")\r
             endif()\r
-\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
@@ -642,9 +701,6 @@ include_directories("."
 # Should be set to true for development\r
 set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")\r
 \r
-# Whole program optimization?\r
-set(OPENCV_WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.")\r
-\r
 set(EXTRA_C_FLAGS "")\r
 set(EXTRA_C_FLAGS_RELEASE "")\r
 set(EXTRA_C_FLAGS_DEBUG "")\r
@@ -664,16 +720,9 @@ if(MSVC)
 \r
     set(EXTRA_EXE_LINKER_FLAGS_RELEASE "${EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")\r
 \r
-    # Whole program optimization\r
-    if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION AND MSVC_VERSION GREATER 1300)\r
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /GL")\r
-        set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")\r
-        set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")\r
-    endif()\r
-\r
-    if(ENABLE_OPENMP)\r
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} /openmp")\r
-    endif()\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
@@ -681,6 +730,13 @@ if(MSVC)
 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
@@ -701,9 +757,12 @@ if(CMAKE_COMPILER_IS_GNUCXX)
         set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror")\r
     endif()\r
 \r
-    # Whole program optimization\r
-    if(OPENCV_WHOLE_PROGRAM_OPTIMIZATION)\r
-        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine")\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
@@ -719,21 +778,39 @@ if(CMAKE_COMPILER_IS_GNUCXX)
     if(USE_FAST_MATH)\r
        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math")\r
     endif()\r
-    if(USE_POWERPC)\r
+    if(ENABLE_POWERPC)\r
        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5")\r
     endif()\r
-    if(USE_MMX)\r
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx")\r
-    endif()\r
-    if(USE_SSE)\r
+    if(ENABLE_SSE)\r
        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse")\r
     endif()\r
-    if(USE_SSE2)\r
+    if(ENABLE_SSE2)\r
        set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2")\r
     endif()\r
-    # SSE3 should be disabled under MingW because it generates compiler errors\r
-    if(USE_SSE3 AND NOT MINGW)\r
-       set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3")\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
@@ -747,10 +824,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
     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
+    #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
@@ -758,11 +835,11 @@ endif()
 \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
+    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
+    set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} flann zlib opencv_lapack)\r
 endif()\r
 \r
 \r
@@ -1029,6 +1106,16 @@ message(STATUS "    GThread:                   ${HAVE_GTHREAD}")
 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
@@ -1036,7 +1123,7 @@ else()
 message(STATUS "    JPEG:                      build")\r
 endif()\r
 \r
-if(NOT WIDTH_PNG OR PNG_FOUND)\r
+if(NOT WITH_PNG OR PNG_FOUND)\r
 message(STATUS "    PNG:                       ${PNG_FOUND}")\r
 else()\r
 message(STATUS "    PNG:                       build")\r
@@ -1076,6 +1163,15 @@ endif()
 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
@@ -1086,11 +1182,19 @@ endif()
 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