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.
parent 169dc9c3
......@@ -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()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment