# ----------------------------------------------------------------------------\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
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
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 ON CACHE BOOL "Enable SSE3 for GCC")\r
- set(ENABLE_SSSE3 ON CACHE BOOL "Enable SSSE3 for GCC")\r
- set(ENABLE_SSE4_1 ON CACHE BOOL "Enable SSE4.1 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
\r
if(UNIX)\r
set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")\r
- set(WITH_UNICAP ON CACHE BOOL "Include Unicap support")\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
+ 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
############################### 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
# 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
\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
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
- endif()\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
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
+ #if(ENABLE_SSE4_1)\r
+ # set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse4.1")\r
+ #endif()\r
endif()\r
endif()\r
\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
+ #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
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
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 " 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