#
SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(TBB TBB_INCLUDE_DIRS 1)
-MARK_AS_ADVANCED(TBB_INCLUDE_DIRS TBB_LIBRARIES)
+
+IF(TBB_INCLUDE_DIRS AND TBB_LIBRARIES)
+ # No config mode
+ MARK_AS_ADVANCED(TBB_INCLUDE_DIRS TBB_LIBRARIES)
+ELSEIF(TBB_IMPORTED_TARGETS)
+ #Config mode
+ SET(TBB_LIBRARIES ${TBB_IMPORTED_TARGETS})
+ELSE()
+ MESSAGE(FATAL_ERROR "Can't find tbb installation!")
+ENDIF()
IF(TBB_FOUND)
- SALOME_ACCUMULATE_HEADERS(TBB_INCLUDE_DIRS)
- SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${TBB_LIBRARIES})
+ IF(TBB_INCLUDE_DIRS AND TBB_LIBRARIES)
+ # No config mode
+ SALOME_ACCUMULATE_HEADERS(TBB_INCLUDE_DIRS)
+ SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${TBB_LIBRARIES})
+ ELSEIF(TBB_IMPORTED_TARGETS)
+ #Config mode
+ LIST(GET TBB_IMPORTED_TARGETS 0 _first_tbb_target)
+
+ # 1. Get TBB libraries dir
+ GET_TARGET_PROPERTY(_tbb_f_lib ${_first_tbb_target} IMPORTED_LOCATION_RELASE)
+ IF(NOT ${_tbb_f_lib})
+ GET_TARGET_PROPERTY(_tbb_f_lib ${_first_tbb_target} IMPORTED_LOCATION_DEBUG)
+ ENDIF()
+ GET_FILENAME_COMPONENT(_tbb_lib ${_tbb_f_lib} DIRECTORY)
+ GET_FILENAME_COMPONENT(_tbb_lib ${_tbb_lib} ABSOLUTE)
+
+ # 2. Get TBB includes dir
+ GET_TARGET_PROPERTY(_tbb_inc ${_first_tbb_target} INTERFACE_INCLUDE_DIRECTORIES)
+ GET_FILENAME_COMPONENT(_tbb_inc ${_tbb_inc} ABSOLUTE)
+
+ SALOME_ACCUMULATE_HEADERS(_tbb_inc)
+ SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${_tbb_lib})
+ ENDIF()
ENDIF()
\ No newline at end of file