############################### TBB ################################\r
\r
if (WITH_TBB)\r
- if (WIN32 OR APPLE)\r
- find_path(TBB_INCLUDE_DIRS "tbb/tbb.h"\r
- PATHS "/usr/include" "/usr/local/include"\r
- DOC "The path to TBB headers")\r
- \r
- if (TBB_INCLUDE_DIRS)\r
- if (WIN32)\r
- set(TBB_LIB "${TBB_INCLUDE_DIRS}/../lib/tbb.lib" CACHE PATH "Full name of TBB library")\r
- else()\r
- set(TBB_LIB "${TBB_INCLUDE_DIRS}/../lib/libtbb.dylib" CACHE PATH "Full name of TBB library")\r
- endif()\r
- set(HAVE_TBB 1)\r
- include_directories("${TBB_INCLUDE_DIRS}")\r
- set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIB})\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