From b923283f54e0f001172d165533adfd0c547fb0e2 Mon Sep 17 00:00:00 2001 From: Frank Gaede <frank.gaede@desy.de> Date: Thu, 12 Nov 2020 09:55:08 +0100 Subject: [PATCH] add cmake flag DD4HEP_USE_EDM4HEP for new plugin - including necessary build macro etc --- CMakeLists.txt | 6 ++++++ DDG4/CMakeLists.txt | 10 ++++++++++ cmake/DD4hepBuild.cmake | 9 +++++++++ 3 files changed, 25 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d206821f4..a142cf576 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 0ef01e51b..d52362e38 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 05d9c2941..03620aed9 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}) -- GitLab