Added TBB version detection to CMake
This commit is contained in:
@@ -20,10 +20,10 @@ endif()
|
||||
if(NOT HAVE_TBB)
|
||||
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")
|
||||
|
||||
find_path(TBB_INCLUDE_DIR "tbb/tbb.h" PATHS ${TBB_DEFAULT_INCLUDE_DIRS} DOC "The path to TBB headers")
|
||||
if(TBB_INCLUDE_DIR)
|
||||
find_path(TBB_INCLUDE_DIRS "tbb/tbb.h" PATHS ${TBB_DEFAULT_INCLUDE_DIRS} DOC "The path to TBB headers")
|
||||
if(TBB_INCLUDE_DIRS)
|
||||
if(UNIX)
|
||||
set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")
|
||||
set(TBB_LIB_DIR "${TBB_INCLUDE_DIRS}/../lib" CACHE PATH "Full path of TBB library directory")
|
||||
link_directories("${TBB_LIB_DIR}")
|
||||
endif()
|
||||
if(APPLE)
|
||||
@@ -35,11 +35,11 @@ if(NOT HAVE_TBB)
|
||||
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
|
||||
elseif (WIN32)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")
|
||||
set(TBB_LIB_DIR "${TBB_INCLUDE_DIRS}/../lib" CACHE PATH "Full path of TBB library directory")
|
||||
link_directories("${TBB_LIB_DIR}")
|
||||
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
|
||||
else()
|
||||
get_filename_component(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib" ABSOLUTE)
|
||||
get_filename_component(_TBB_LIB_PATH "${TBB_INCLUDE_DIRS}/../lib" ABSOLUTE)
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES amd64*|x86_64* OR MSVC64)
|
||||
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")
|
||||
@@ -62,8 +62,23 @@ if(NOT HAVE_TBB)
|
||||
endif()
|
||||
|
||||
set(HAVE_TBB 1)
|
||||
if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")
|
||||
ocv_include_directories("${TBB_INCLUDE_DIR}")
|
||||
if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")
|
||||
ocv_include_directories("${TBB_INCLUDE_DIRS}")
|
||||
endif()
|
||||
endif(TBB_INCLUDE_DIR)
|
||||
endif(TBB_INCLUDE_DIRS)
|
||||
endif(NOT HAVE_TBB)
|
||||
|
||||
# get TBB version
|
||||
if(HAVE_TBB)
|
||||
find_file(TBB_STDDEF_PATH tbb/tbb_stddef.h "${TBB_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(HAVE_TBB AND TBB_STDDEF_PATH)
|
||||
file(STRINGS "${TBB_STDDEF_PATH}" TBB_VERSION_LINES REGEX "#define (TBB_VERSION_MAJOR|TBB_VERSION_MINOR|TBB_INTERFACE_VERSION)[ ]+[0-9]+" )
|
||||
string(REGEX REPLACE ".+TBB_VERSION_MAJOR[ ]+([0-9]+).*" "\\1" TBB_VERSION_MAJOR "${TBB_VERSION_LINES}")
|
||||
string(REGEX REPLACE ".+TBB_VERSION_MINOR[ ]+([0-9]+).*" "\\1" TBB_VERSION_MINOR "${TBB_VERSION_LINES}")
|
||||
string(REGEX REPLACE ".+TBB_INTERFACE_VERSION[ ]+([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${TBB_VERSION_LINES}")
|
||||
else()
|
||||
unset(TBB_VERSION_MAJOR)
|
||||
unset(TBB_VERSION_MINOR)
|
||||
unset(TBB_INTERFACE_VERSION)
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user