From 8b3c6e586fffed7263c7ae9f597dc3fa1a12f330 Mon Sep 17 00:00:00 2001 From: Andre Sailer <andre.philippe.sailer@cern.ch> Date: Wed, 1 Jul 2020 10:07:10 +0200 Subject: [PATCH] Add DD4HEP_USE_TBB cmake variable and require TBB if ON, declare dependency --- CMakeLists.txt | 1 + DDDigi/CMakeLists.txt | 7 +++---- cmake/DD4hepConfig.cmake.in | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 839feb0c9..15a9d9dac 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 88eb5c926..1aa31fbc5 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 ed777aa8c..5b6d798db 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() -- GitLab