tbb search improvement
authorAnatoly Baksheev <no@email>
Fri, 1 Apr 2011 19:19:03 +0000 (19:19 +0000)
committerAnatoly Baksheev <no@email>
Fri, 1 Apr 2011 19:19:03 +0000 (19:19 +0000)
CMakeLists.txt

index e89db9c..ae1b220 100644 (file)
@@ -615,28 +615,14 @@ if (WITH_TBB)
                 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
+            set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIBRARIES})        \r
         endif()\r
-    endif()\r
-    if (APPLE)\r
-        set(TBB_DEFAULT_INCLUDE_DIRS\r
-          "/usr/local/include"\r
-          "/usr/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
+    endif()    \r
+    \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
+               set(TBB_DEFAULT_INCLUDE_DIRS "/opt/intel/tbb" "/usr/local/include" "/usr/include" "C:/Program Files/Intel/TBB" "C:/Program Files (x86)/Intel/TBB")\r
+               \r
+               find_path(TBB_INCLUDE_DIR "tbb/tbb.h" PATHS ${TBB_DEFAULT_INCLUDE_DIRS} 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
@@ -647,53 +633,39 @@ if (WITH_TBB)
             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
-                   elseif(MSVC10)\r
-                       set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc10")\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(WITH_TBB)\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
+                                   get_filename_component(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib" ABSOLUTE)                          \r
+                                  \r
+                                       if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*|x86_64*)\r
+                                               set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")\r
+                    endif()                   \r
+                    if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*|i386*|i686*)\r
+                                               set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/ia32")\r
+                                       endif()\r
+\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
+                                       elseif(MSVC10)\r
+                                               set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc10")\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(WITH_TBB)\r
 \r
 \r
 ############################ Intel IPP #############################\r