
[~] Automatically tracked dependencies between modules [+] Support for optional module dependencies [+] Options to choose modules to build [~] Removed hardcoded modules lists from OpenCVConfig.cmake, opencv.pc and OpenCV.mk [+] Added COMPONENTS support for FIND_PACKAGE(OpenCV) [~] haartraining and traincascade are moved outside of modules folder since they aren't the modules
64 lines
2.3 KiB
CMake
64 lines
2.3 KiB
CMake
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
|
PKG_CHECK_MODULES(TBB tbb)
|
|
|
|
if(TBB_FOUND)
|
|
set(HAVE_TBB 1)
|
|
if(NOT ${TBB_INCLUDE_DIRS} STREQUAL "")
|
|
include_directories(${TBB_INCLUDE_DIRS})
|
|
endif()
|
|
link_directories(${TBB_LIBRARY_DIRS})
|
|
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${TBB_LIBRARIES})
|
|
endif()
|
|
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)
|
|
if(UNIX)
|
|
set(TBB_LIB_DIR "${TBB_INCLUDE_DIR}/../lib" CACHE PATH "Full path of TBB library directory")
|
|
link_directories("${TBB_LIB_DIR}")
|
|
endif()
|
|
if(APPLE)
|
|
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} libtbb.dylib)
|
|
elseif(ANDROID)
|
|
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
|
|
add_definitions(-DTBB_USE_GCC_BUILTINS)
|
|
elseif (UNIX)
|
|
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")
|
|
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)
|
|
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES amd64*|x86_64* OR MSVC64)
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")
|
|
elseif()
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/ia32")
|
|
endif()
|
|
|
|
if(MSVC80)
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc8")
|
|
elseif(MSVC90)
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc9")
|
|
elseif(MSVC10)
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc10")
|
|
elseif(MSVC11)
|
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/vc11")
|
|
endif()
|
|
set(TBB_LIB_DIR "${_TBB_LIB_PATH}" CACHE PATH "Full path of TBB library directory")
|
|
link_directories("${TBB_LIB_DIR}")
|
|
endif()
|
|
endif()
|
|
|
|
set(HAVE_TBB 1)
|
|
if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")
|
|
include_directories("${TBB_INCLUDE_DIR}")
|
|
endif()
|
|
endif(TBB_INCLUDE_DIR)
|
|
endif(NOT HAVE_TBB)
|