fixed OpenCVDetectTBB.cmake (WIN32 x86 VS library path)
[profile/ivi/opencv.git] / cmake / OpenCVDetectTBB.cmake
1 if(UNIX AND NOT APPLE AND NOT ANDROID)
2   PKG_CHECK_MODULES(TBB tbb)
3
4   if(TBB_FOUND)
5     set(HAVE_TBB 1)
6     if(NOT ${TBB_INCLUDE_DIRS} STREQUAL "")
7       include_directories(${TBB_INCLUDE_DIRS})
8     endif()
9     link_directories(${TBB_LIBRARY_DIRS})
10     set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIBRARIES})
11   endif()
12 endif()
13
14 if(NOT HAVE_TBB)
15   set(TBB_DEFAULT_INCLUDE_DIRS "/opt/intel/tbb" "/usr/local/include" "/usr/include" "C:/Program Files/Intel/TBB" "C:/Program Files (x86)/Intel/TBB" "C:/Program Files (x86)/TBB" "${CMAKE_INSTALL_PREFIX}/include")
16
17   find_path(TBB_INCLUDE_DIR "tbb/tbb.h" PATHS ${TBB_DEFAULT_INCLUDE_DIRS} DOC "The path to TBB headers")
18   if(TBB_INCLUDE_DIR)
19     if(UNIX)
20       set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")
21       link_directories("${TBB_LIB_DIR}")
22     endif()
23     if(APPLE)
24       set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} libtbb.dylib)
25     elseif(ANDROID)
26       set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS}  tbb)
27       add_definitions(-DTBB_USE_GCC_BUILTINS)
28     elseif (UNIX)
29       set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
30     elseif (WIN32)
31       if(CMAKE_COMPILER_IS_GNUCXX)
32         set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")
33         link_directories("${TBB_LIB_DIR}")
34         set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
35       else()
36         get_filename_component(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib" ABSOLUTE)
37
38         if(CMAKE_SYSTEM_PROCESSOR MATCHES amd64*|x86_64* OR MSVC64)
39           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")
40         else()
41           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/ia32")
42         endif()
43
44         if(MSVC80)
45           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc8")
46         elseif(MSVC90)
47           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc9")
48         elseif(MSVC10)
49           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc10")
50         elseif(MSVC11)
51           set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc11")
52         endif()
53         set(TBB_LIB_DIR "${_TBB_LIB_PATH}" CACHE PATH "Full path of TBB library directory")
54         link_directories("${TBB_LIB_DIR}")
55       endif()
56     endif()
57
58     set(HAVE_TBB 1)
59     if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")
60       include_directories("${TBB_INCLUDE_DIR}")
61     endif()
62   endif(TBB_INCLUDE_DIR)
63 endif(NOT HAVE_TBB)