lassoan
(Andras Lasso)
April 26, 2021, 1:17pm
11
Relevant CMake variables and logic is here:
endif()
#-----------------------------------------------------------------------------
# Slicer VTK Options
#-----------------------------------------------------------------------------
set(_backend "OpenGL2")
set(Slicer_VTK_RENDERING_BACKEND "${_backend}" CACHE STRING "Rendering backend." FORCE)
mark_as_superbuild(Slicer_VTK_RENDERING_BACKEND)
set(Slicer_VTK_RENDERING_USE_${Slicer_VTK_RENDERING_BACKEND}_BACKEND 1)
# Slicer build is only tested with Sequential and TBB. OpenMP might work.
# Use TBB by default only on Windows, as it has not been tested on other platforms.
if(WIN32)
set(Slicer_DEFAULT_VTK_SMP_IMPLEMENTATION_TYPE "TBB")
else()
set(Slicer_DEFAULT_VTK_SMP_IMPLEMENTATION_TYPE "Sequential")
endif()
set(Slicer_VTK_SMP_IMPLEMENTATION_TYPE ${Slicer_DEFAULT_VTK_SMP_IMPLEMENTATION_TYPE}
CACHE STRING "Which multi-threaded parallelism implementation to use in VTK. Options are Sequential or TBB.")
set_property(CACHE Slicer_VTK_SMP_IMPLEMENTATION_TYPE
PROPERTY
You can use system TBB or make Slicer download/build TBB as part of the supervuild process. You can find additional logic for this if you search for Slicer_USE_TBB
in the source code.
In official Slicer releases TBB is probably only used on Windows. @Sam_Horvath can you confirm?