2020-10-07 00:10:06 +08:00
###############################################################################
2021-09-18 14:48:31 +08:00
if ( GTSAM_WITH_TBB )
# Find TBB
find_package ( TBB 4.4 COMPONENTS tbb tbbmalloc )
2020-10-07 00:10:06 +08:00
2021-09-18 14:48:31 +08:00
# Set up variables if we're using TBB
if ( TBB_FOUND )
set ( GTSAM_USE_TBB 1 ) # This will go into config.h
2021-09-19 23:46:20 +08:00
2021-09-18 14:48:31 +08:00
if ( ( ${ TBB_VERSION_MAJOR } GREATER 2020 ) OR ( ${ TBB_VERSION_MAJOR } EQUAL 2020 ) )
set ( TBB_GREATER_EQUAL_2020 1 )
else ( )
set ( TBB_GREATER_EQUAL_2020 0 )
endif ( )
# all definitions and link requisites will go via imported targets:
# tbb & tbbmalloc
2023-07-04 03:23:00 +08:00
list ( APPEND GTSAM_ADDITIONAL_LIBRARIES TBB::tbb TBB::tbbmalloc )
2020-10-07 00:10:06 +08:00
else ( )
2021-09-18 14:48:31 +08:00
set ( GTSAM_USE_TBB 0 ) # This will go into config.h
2020-10-07 00:10:06 +08:00
endif ( )
2021-09-18 14:48:31 +08:00
###############################################################################
# Prohibit Timing build mode in combination with TBB
if ( GTSAM_USE_TBB AND ( CMAKE_BUILD_TYPE STREQUAL "Timing" ) )
message ( FATAL_ERROR "Timing build mode cannot be used together with TBB. Use a sampling profiler such as Instruments or Intel VTune Amplifier instead." )
2020-10-07 00:10:06 +08:00
endif ( )
endif ( )