Fix compile error with external TBB and -DBUILD_SHARED_LIBS=OFF.

Adds IMPORTED for the TBB::tbb alias target as otherwise cmake produces
the following error:

CMake Error: install(EXPORT "OpenCVModules" ...) includes target "opencv_core" which requires target "tbb" that is not in the export set.

This problem occurs with the defaults used by homebrew on macOS, which
compiles both static and shared versions of TBB and OpenCV.
This commit is contained in:
Manolis Stamatogiannakis 2019-04-12 02:36:59 +01:00
parent 169dc9c311
commit ef16e4203e

View File

@ -29,8 +29,10 @@ function(ocv_tbb_cmake_guess _found)
message(STATUS "Found TBB (cmake): ${_lib}")
get_target_property(_inc TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
ocv_tbb_read_version("${_inc}")
add_library(tbb INTERFACE)
target_link_libraries(tbb INTERFACE TBB::tbb)
add_library(tbb INTERFACE IMPORTED)
set_target_properties(tbb PROPERTIES
INTERFACE_LINK_LIBRARIES TBB::tbb
)
set(${_found} TRUE PARENT_SCOPE)
endif()
endfunction()