diff --git a/CMakeLists.txt b/CMakeLists.txt index 839feb0c9e28ab72a53aa4ba4d8744f7a1818e46..15a9d9dacb89dbb88f9af3fa87f0a9da31bbfbfa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,7 @@ option(DD4HEP_IGNORE_GEANT4_TLS "Ignore the tls flag Geant4 was compiled with" O option(DD4HEP_USE_GEAR "Build gear wrapper for backward compatibility" OFF) option(DD4HEP_USE_LCIO "Build lcio extensions" OFF) option(DD4HEP_USE_HEPMC3 "Build hepmc3 extensions" OFF) +option(DD4HEP_USE_TBB "Build features that require TBB" OFF) option(DD4HEP_LOAD_ASSIMP "Download and build ASSIMP from github" OFF) option(BUILD_TESTING "Enable and build tests" ON) option(BUILD_SHARED_LIBS "If OFF build STATIC Libraries" ON) diff --git a/DDDigi/CMakeLists.txt b/DDDigi/CMakeLists.txt index 88eb5c926863396ab4eac3ecc6504433d2f47c38..1aa31fbc5cefe6ec4c2271bb446e4824d535499f 100644 --- a/DDDigi/CMakeLists.txt +++ b/DDDigi/CMakeLists.txt @@ -31,15 +31,14 @@ target_include_directories(DDDigi $<INSTALL_INTERFACE:include> ) - -FIND_PACKAGE(TBB QUIET) -if(TBB_FOUND) +if(DD4HEP_USE_TBB) + find_package(TBB REQUIRED) dd4hep_print( "|++> TBB_IMPORTED_TARGETS --> ${TBB_IMPORTED_TARGETS}") dd4hep_print( "|++> TBB found. DDDigi will run multi threaded.") target_compile_definitions(DDDigi PUBLIC DD4HEP_USE_TBB) target_link_libraries(DDDigi PUBLIC ${TBB_IMPORTED_TARGETS}) else() - dd4hep_print( "|++> TBB not found. DDDigi will only work single threaded.") + dd4hep_print( "|++> TBB not used. DDDigi will only work single threaded.") endif() #--------------------------- Legacy libraries ------------------------------------- diff --git a/cmake/DD4hepConfig.cmake.in b/cmake/DD4hepConfig.cmake.in index ed777aa8ca5236faa5959e14f97d7ab24d75323a..5b6d798dbe69e0f48b61af9b2a5950fdcc82aedc 100644 --- a/cmake/DD4hepConfig.cmake.in +++ b/cmake/DD4hepConfig.cmake.in @@ -29,6 +29,7 @@ set ( DD4HEP_USE_GEANT4 @DD4HEP_USE_GEANT4@ ) set ( DD4HEP_USE_CLHEP @DD4HEP_USE_CLHEP@ ) set ( DD4HEP_USE_LCIO @DD4HEP_USE_LCIO@ ) set ( DD4HEP_USE_XERCESC @DD4HEP_USE_XERCESC@ ) +set ( DD4HEP_USE_TBB @DD4HEP_USE_TBB@ ) set ( @CMAKE_PROJECT_NAME@_BUILD_CXX_STANDARD @CMAKE_CXX_STANDARD@ ) include ( ${@CMAKE_PROJECT_NAME@_DIR}/cmake/DD4hep.cmake ) @@ -70,6 +71,11 @@ if(DD4HEP_USE_LCIO) DD4HEP_SETUP_LCIO_TARGETS() endif() +if(DD4HEP_USE_TBB) + MESSAGE(STATUS "@CMAKE_PROJECT_NAME@ uses TBB") + find_dependency(TBB REQUIRED) +endif() + if(NOT CMAKE_PROJECT_NAME STREQUAL @CMAKE_PROJECT_NAME@) include("${@CMAKE_PROJECT_NAME@_ROOT}/cmake/@CMAKE_PROJECT_NAME@Config-targets.cmake") endif()