Skip to content
Snippets Groups Projects
Unverified Commit a9203409 authored by Jean-Christophe Fillion-Robin's avatar Jean-Christophe Fillion-Robin
Browse files

COMP: Streamline client project integration updating TBB from 2019_U2 to 2019_U9

See https://github.com/oneapi-src/oneTBB/releases/tag/2019_U9

This commit has two purposes:

* update the version of TBB to latest version providing the
  "task_scheduler_init" API deprecated in newer version.

* remove the iMSTK specific logic to look up iMSTK and rely on
  TBB_DIR and associated TBBConfig file.

* rename the external project from "tbb" to "TBB" to be consistent
  with the current naming convention.
parent 68d636a2
No related branches found
No related tags found
No related merge requests found
# Set TBB_SOURCE_DIR and TBB_PREFIX
imstk_define_external_dirs( TBB )
# Version used to copy files & directories, and download archive from GitHub
set(TBB_VER "2019_20191006oss")
#-----------------------------------------------------------------------------
# Set install commands
#-----------------------------------------------------------------------------
if(CMAKE_PROJECT_NAME STREQUAL "iMSTK")
set(TBB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
set(copy_tbb_config_command
${CMAKE_COMMAND} -E copy
${TBB_SOURCE_DIR}/tbb${TBB_VER}/cmake/TBBConfig.cmake
${TBB_INSTALL_DIR}/cmake/TBBConfig.cmake
)
set(copy_tbb_headers_command
${CMAKE_COMMAND} -E copy_directory
${TBB_SOURCE_DIR}/tbb${TBB_VER}/include/tbb
${TBB_INSTALL_DIR}/include/tbb
)
if(WIN32)
set(_subdir "intel64/vc14/")
elseif(APPLE)
set(_subdir "")
elseif(UNIX)
set(_subdir "intel64/gcc4.8/")
endif()
set(copy_tbb_libraries_command
${CMAKE_COMMAND} -E copy_directory
${TBB_SOURCE_DIR}/tbb${TBB_VER}/lib/${_subdir}
${TBB_INSTALL_DIR}/lib/${_subdir}
)
set(TBB_INSTALL_COMMAND
INSTALL_COMMAND
COMMAND ${copy_tbb_config_command}
COMMAND ${copy_tbb_headers_command}
COMMAND ${copy_tbb_libraries_command}
)
if(WIN32)
set(copy_tbb_dll_command
${CMAKE_COMMAND} -E copy_directory
${TBB_SOURCE_DIR}/tbb${TBB_VER}/bin/${_subdir}
${TBB_INSTALL_DIR}/bin/${_subdir}
)
list(APPEND TBB_INSTALL_COMMAND
COMMAND ${copy_tbb_dll_command}
)
endif()
else()
set(TBB_INSTALL_COMMAND
INSTALL_COMMAND
COMMAND ${SKIP_STEP_COMMAND}
)
endif()
#-----------------------------------------------------------------------------
# Add External Project
#-----------------------------------------------------------------------------
include(imstkAddExternalProject)
if(WIN32)
set(tbb_file "tbb${TBB_VER}_win.zip")
set(tbb_md5 "a061a7c9821a374023201e8592860730")
elseif(APPLE)
set(tbb_file "tbb${TBB_VER}_mac.tgz")
set(tbb_md5 "43a0d6409317ee94f047622fd489a6c8")
else()
set(tbb_file "tbb${TBB_VER}_lin.tgz")
set(tbb_md5 "b5025847fa47040b4d2da8d6bdba0224")
endif()
imstk_add_external_project(TBB
URL https://github.com/oneapi-src/oneTBB/releases/download/2019_U9/${tbb_file}
URL_MD5 ${tbb_md5}
DOWNLOAD_DIR ${TBB_PREFIX}
SOURCE_DIR ${TBB_SOURCE_DIR}
UPDATE_COMMAND ${SKIP_STEP_COMMAND}
CONFIGURE_COMMAND ${SKIP_STEP_COMMAND}
BUILD_COMMAND ${SKIP_STEP_COMMAND}
${TBB_INSTALL_COMMAND}
#RELATIVE_INCLUDE_PATH ""
#VERBOSE
)
#-----------------------------------------------------------------------------
# Add External Project
#-----------------------------------------------------------------------------
include(imstkAddExternalProject)
imstk_add_external_project(tbb
URL https://gitlab.kitware.com/iMSTK/TBB-CMake/-/archive/master/TBB-CMake-master.zip
URL_MD5 cf8edc032dc473668c6b3109cfee19e8
CMAKE_CACHE_ARGS
-DTBB_BUILD_TESTS:BOOL=OFF
RELATIVE_INCLUDE_PATH ""
#VERBOSE
)
include(imstkFind)
#-----------------------------------------------------------------------------
# Find All Headers and Libraries for tbb
#-----------------------------------------------------------------------------
imstk_find_header(tbb tbb/tbb.h)
imstk_find_libary(tbb tbb)
imstk_find_package(tbb)
#message(STATUS "tbb include : ${TBB_INCLUDE_DIRS}")
#message(STATUS "tbb libraries : ${TBB_LIBRARIES}")
\ No newline at end of file
......@@ -74,11 +74,8 @@ if(iMSTK_AUDIO_ENABLED)
add_definitions( -DiMSTK_AUDIO_ENABLED )
endif()
# tbb
find_dependency(tbb)
if (MSVC)
add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE=1)
endif()
# TBB
find_dependency(TBB)
# VegaFEM
find_dependency( VegaFEM )
......
......@@ -181,7 +181,7 @@ if(${PROJECT_NAME}_SUPERBUILD)
if (${PROJECT_NAME}_USE_PHYSX)
imstk_define_dependency(PhysX)
endif()
imstk_define_dependency(tbb)
imstk_define_dependency(TBB)
imstk_define_dependency(VegaFEM)
imstk_define_dependency(VTK)
if(${PROJECT_NAME}_USE_OpenHaptics)
......@@ -279,9 +279,7 @@ else()
endif()
# TBB
find_package(tbb REQUIRED)
# Define __TBB_NO_IMPLICIT_LINKAGE so that MSVC will not always look for tbb_debug in debug mode
add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE)
find_package(TBB REQUIRED)
# VegaFEM
find_package( VegaFEM REQUIRED CONFIG )
......@@ -548,8 +546,6 @@ set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_ROOT_DIR \"${OpenVR_ROOT_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(OpenVR_LIB_DIR \"${OpenVR_LIB_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(TBB_DIR \"${TBB_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(tbb_ROOT_DIR \"${tbb_ROOT_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(tbb_LIB_DIR \"${tbb_LIB_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(VegaFEM_DIR \"${VegaFEM_DIR}\")\n")
set(CONFIG_CODE "${CONFIG_CODE}set(VTK_DIR \"${VTK_DIR}\")\n")
......
......@@ -6,7 +6,7 @@ imstk_add_library( Common
DEPENDS
Eigen3::Eigen
g3log::g3log
tbb
TBB::tbb
)
#-----------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment