From 1d4fd999aaf358a7a10189f68e1171d7ce9bca08 Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Wed, 23 Dec 2020 00:40:46 +0800 Subject: [PATCH] WIP: migrate Examples. --- CMakeLists.txt | 2 +- Examples/CMakeLists.txt | 66 ++++++++------------- Examples/{ => include}/Examples/IFirstSvc.h | 0 Examples/src/HelloWorld/HelloAlg.h | 2 +- Examples/src/SecondAlg/SecondAlg.h | 2 +- 5 files changed, 27 insertions(+), 45 deletions(-) rename Examples/{ => include}/Examples/IFirstSvc.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 778bd330..87208667 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ endif() add_subdirectory(Analysis) add_subdirectory(Detector) # add_subdirectory(Digitisers) -# add_subdirectory(Examples) +add_subdirectory(Examples) add_subdirectory(Generator) # add_subdirectory(Reconstruction) add_subdirectory(Simulation) diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt index e1145787..02613ead 100644 --- a/Examples/CMakeLists.txt +++ b/Examples/CMakeLists.txt @@ -1,58 +1,40 @@ -gaudi_subdir(Examples v0r0) - find_package(podio REQUIRED) -#find_package(plcio REQUIRED) find_package(LCIO REQUIRED) find_package(EDM4HEP REQUIRED) find_package(k4FWCore REQUIRED) find_package(DD4hep COMPONENTS DDRec DDParsers REQUIRED) -gaudi_depends_on_subdirs( - Detector/DetInterface -) - set(Examples_srcs - src/HelloWorld/*.cpp - src/FirstSvc/*.cpp - src/SecondAlg/*.cpp - # src/PlcioTest/*.cpp - src/Edm4hepTest/*.cpp - src/DumpIDAlg/*.cpp + src/HelloWorld/HelloAlg.cpp + src/FirstSvc/FirstSvc.cpp + src/SecondAlg/SecondAlg.cpp + src/Edm4hepTest/Edm4hepReadAlg.cpp + src/Edm4hepTest/Edm4hepReadDCAlg.cpp + src/Edm4hepTest/Edm4hepWriteAlg.cpp + src/DumpIDAlg/DumpIDAlg.cpp ) # Headers and Libraries -gaudi_install_headers(Examples) - # Modules -gaudi_add_module(Examples ${Examples_srcs} - INCLUDE_DIRS k4FWCore GaudiAlgLib GaudiKernel ${podio_INCLUDE_DIRS} ${LCIO_INCLUDE_DIRS} - LINK_LIBRARIES k4FWCore GaudiAlgLib GaudiKernel ${LCIO_LIBRARIES} - DD4hep ${DD4hep_COMPONENT_LIBRARIES} - # Force loading the libraries. - -Wl,--no-as-needed EDM4HEP::edm4hep EDM4HEP::edm4hepDict ${podio_LIBRARIES} podio::podioRootIO -Wl,--as-needed +gaudi_add_module(Examples + SOURCES ${Examples_srcs} + LINK DetInterface + k4FWCore::k4FWCore + Gaudi::GaudiAlgLib Gaudi::GaudiKernel + ${LCIO_LIBRARIES} + ${DD4hep_COMPONENT_LIBRARIES} + EDM4HEP::edm4hep EDM4HEP::edm4hepDict + ${podio_LIBRARIES} podio::podioRootIO ) -# Unit tests -gaudi_add_test(HelloAlg - FRAMEWORK options/helloalg.py) - -gaudi_add_test(SecondAlg - FRAMEWORK options/secondalg.py) - -gaudi_add_test(PlcioWriteAlg - FRAMEWORK options/plcio_write.py) - -gaudi_add_test(PlcioReadAlg - FRAMEWORK options/plcio_read.py) - -gaudi_add_test(Edm4hepWriteAlg - FRAMEWORK options/edm4hep_write.py) - -gaudi_add_test(Edm4hepReadAlg - FRAMEWORK options/edm4hep_read.py) - -gaudi_add_test(LCIOReadAlg - FRAMEWORK options/LCIO_read.py) +target_include_directories(Examples PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>/include + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) +install(TARGETS Examples + EXPORT CEPCSWTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib + COMPONENT dev) diff --git a/Examples/Examples/IFirstSvc.h b/Examples/include/Examples/IFirstSvc.h similarity index 100% rename from Examples/Examples/IFirstSvc.h rename to Examples/include/Examples/IFirstSvc.h diff --git a/Examples/src/HelloWorld/HelloAlg.h b/Examples/src/HelloWorld/HelloAlg.h index 9c689ca9..357ac4f8 100644 --- a/Examples/src/HelloWorld/HelloAlg.h +++ b/Examples/src/HelloWorld/HelloAlg.h @@ -2,7 +2,7 @@ #define HelloAlg_h #include <GaudiKernel/Algorithm.h> -#include "GaudiKernel/Property.h" +#include <Gaudi/Property.h> class HelloAlg: public Algorithm { public: diff --git a/Examples/src/SecondAlg/SecondAlg.h b/Examples/src/SecondAlg/SecondAlg.h index e96306c8..9026b0b3 100644 --- a/Examples/src/SecondAlg/SecondAlg.h +++ b/Examples/src/SecondAlg/SecondAlg.h @@ -2,7 +2,7 @@ #define SecondAlg_h #include <GaudiKernel/Algorithm.h> -#include <GaudiKernel/Property.h> +#include <Gaudi/Property.h> #include "Examples/IFirstSvc.h" -- GitLab