diff --git a/CMakeLists.txt b/CMakeLists.txt index d206821f4e8e974d96f53c7cefa719d17f1555bd..a142cf576eeee80f99185b2d8bcce040358bacbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,7 @@ option(DD4HEP_USE_GEANT4 "Enable the simulation part based on Geant4" OFF) option(DD4HEP_IGNORE_GEANT4_TLS "Ignore the tls flag Geant4 was compiled with" OFF) option(DD4HEP_USE_GEAR "Build gear wrapper for backward compatibility" OFF) option(DD4HEP_USE_LCIO "Build lcio extensions" OFF) +option(DD4HEP_USE_EDM4HEP "Build edm4hep 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) @@ -145,6 +146,11 @@ if(DD4HEP_USE_LCIO) DD4HEP_SETUP_LCIO_TARGETS() endif() +if(DD4HEP_USE_EDM4HEP) + find_package(EDM4HEP REQUIRED) +# DD4HEP_SETUP_EDM4HEP_TARGETS() +endif() + IF(DD4HEP_USE_HEPMC3) find_package(HepMC3 REQUIRED) ENDIF() diff --git a/DDG4/CMakeLists.txt b/DDG4/CMakeLists.txt index 0ef01e51b8db35c20b7f0931d2cf371cf152867e..d52362e3860c22bd68ff3b563d5c1029283f192b 100644 --- a/DDG4/CMakeLists.txt +++ b/DDG4/CMakeLists.txt @@ -98,6 +98,16 @@ IF(TARGET LCIO::LCIO) ENDIF() +IF(TARGET EDM4HEP::edm4hep) + dd4hep_add_plugin(DDG4EDM4HEP + SOURCES edm4hep/*.cpp + USES DD4hep::DDG4 EDM4HEP::edm4hep EDM4HEP::edm4hepDict podio::podio podio::podioDict podio::podioRootIO + ) + install(TARGETS DDG4EDM4HEP EXPORT DD4hep LIBRARY DESTINATION lib) + set_target_properties(DDG4EDM4HEP PROPERTIES VERSION ${DD4hep_VERSION} SOVERSION ${DD4hep_SOVERSION}) + +ENDIF() + IF(DD4HEP_USE_HEPMC3) dd4hep_add_plugin(DDG4HepMC3 SOURCES hepmc/*.cpp diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake index 05d9c294171fe223abba12c90f9fbed2f8fd1569..03620aed997467912ec6a2853f9fe8e0fcf83c7e 100644 --- a/cmake/DD4hepBuild.cmake +++ b/cmake/DD4hepBuild.cmake @@ -245,6 +245,8 @@ function ( dd4hep_print_options ) dd4hep_print ( "| XERCESC_ROOT_DIR: ${XERCESC_ROOT_DIR} " ) dd4hep_print ( "| DD4HEP_USE_LCIO: ${DD4HEP_USE_LCIO} " ) dd4hep_print ( "| LCIO_DIR: ${LCIO_DIR} " ) + dd4hep_print ( "| DD4HEP_USE_EDM4HEP: ${DD4HEP_USE_EDM4HEP} " ) + dd4hep_print ( "| EDM4HEP_DIR: ${EDM4HEP_DIR} " ) dd4hep_print ( "| DD4HEP_USE_GEANT4: ${DD4HEP_USE_GEANT4} " ) dd4hep_print ( "| Geant4_DIR: ${Geant4_DIR} " ) dd4hep_print ( "| DD4HEP_USE_PYROOT: ${DD4HEP_USE_PYROOT} " ) @@ -279,6 +281,9 @@ function( dd4hep_print_cmake_options ) dd4hep_print ( "| DD4HEP_USE_LCIO Build lcio extensions OFF |") dd4hep_print ( "| Requires LCIO_DIR to be set |") dd4hep_print ( "| or LCIO in CMAKE_MODULE_PATH |") + dd4hep_print ( "| DD4HEP_USE_EDM4HEP Build edm4hep extensions OFF |") + dd4hep_print ( "| Requires EDM4HEP_DIR to be set |") + dd4hep_print ( "| or EDM4HEP in CMAKE_MODULE_PATH |") dd4hep_print ( "| DD4HEP_USE_GEAR Build gear wrapper for backward compatibility OFF |") dd4hep_print ( "| BUILD_TESTING Enable and build tests ON |") dd4hep_print ( "| DD4HEP_USE_PYROOT Enable 'Detector Builders' based on PyROOT OFF |") @@ -500,6 +505,10 @@ function ( fill_dd4hep_library_path ) SET( ENV{DD4HEP_LIBRARY_PATH} ${LCIO_DIR}/lib:$ENV{DD4HEP_LIBRARY_PATH} ) endif() + if(${DD4HEP_USE_EDM4HEP}) + SET( ENV{DD4HEP_LIBRARY_PATH} ${EDM4HEP_DIR}/lib:$ENV{DD4HEP_LIBRARY_PATH} ) + endif() + SET( ENV{DD4HEP_LIBRARY_PATH} ${CLHEP_ROOT_DIR}/lib:$ENV{DD4HEP_LIBRARY_PATH} ) if(${DD4HEP_USE_XERCESC})