diff --git a/CMakeLists.txt b/CMakeLists.txt index ff2018bd395c0b99cd3d96ac4a91752db0397074..66bf0855c510b9c266e3b70e01c0aabcfa2b0e5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,8 +31,20 @@ endif() # Export compile commands as json for run-clang-tidy set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +# Set required DD4hep components based on user input +set(USE_DDG4 "TRUE" CACHE BOOL "Require DD4hep DDG4 component") +set(DD4hep_required_components DDCore DDRec) +if(${USE_DDG4}) + list(APPEND DD4hep_required_components DDG4) +endif() + +# The items passed to target_link_libraries below need DD4hep:: prepended +set(DD4hep_required_libraries ${DD4hep_required_components}) +list(TRANSFORM DD4hep_required_libraries PREPEND DD4hep::) + + # Dependencies -find_package(DD4hep REQUIRED COMPONENTS DDCore DDG4) +find_package(DD4hep REQUIRED COMPONENTS ${DD4hep_required_components}) find_package(ActsDD4hep) if(ActsDD4hep_FOUND) add_compile_definitions(USE_ACTSDD4HEP) @@ -54,7 +66,7 @@ dd4hep_add_plugin(${a_lib_name} USES ${ActsDD4hep} ROOT::Core ROOT::Gdml ) target_link_libraries(${a_lib_name} - PUBLIC DD4hep::DDCore DD4hep::DDRec DD4hep::DDG4 + PUBLIC ${DD4hep_required_libraries} ) #-----------------------------------------------------------------------------------