diff --git a/CMakeLists.txt b/CMakeLists.txt index afa6f8d043bc91b34583734d4c4eabcccf7b0ae2..cd30de52f2dbd92ad5c785d7c36e3dddfde88775 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,17 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0) +find_package(ROOT COMPONENTS RIO Tree) + find_package(GaudiProject) -gaudi_project(CEPCSW HEAD - USE Gaudi v29r2 ) \ No newline at end of file +# Set up C++ Standard +# ``-DCMAKE_CXX_STANDARD=<standard>`` when invoking CMake +set(CMAKE_CXX_STANDARD 17 CACHE STRING "") + +if(NOT CMAKE_CXX_STANDARD MATCHES "14|17") + message(FATAL_ERROR "Unsupported C++ standard: ${CMAKE_CXX_STANDARD}") +endif() + + +gaudi_project(CEPCSW v0r1 + USE Gaudi v33r1 ) \ No newline at end of file diff --git a/FWCore/CMakeLists.txt b/FWCore/CMakeLists.txt index 3cc5478bb80f00bc90fa56717ebb8331131dab3e..5ddac21d7a011994871cbc5e43fdb535dd2afb1f 100644 --- a/FWCore/CMakeLists.txt +++ b/FWCore/CMakeLists.txt @@ -6,7 +6,6 @@ gaudi_subdir(FWCore v0r1) find_package(podio REQUIRED) find_package(plcio REQUIRED) find_package(LCIO REQUIRED) -find_package(ROOT COMPONENTS RIO Tree) # this declaration will not be needed in the future gaudi_depends_on_subdirs(GaudiAlg GaudiKernel) @@ -15,8 +14,8 @@ gaudi_install_python_modules() gaudi_add_library(FWCore src/*.cpp - INCLUDE_DIRS ${podio_INCLUDE_DIRS} ${LCIO_INCLUDE_DIRS} ${plcio_INCLUDE_DIRS} ROOT - LINK_LIBRARIES GaudiAlgLib GaudiKernel ${podio_LIBRARIES} ${LCIO_LIBRARIES} ${plcio_LIBRARIES} ROOT + INCLUDE_DIRS podio ${LCIO_INCLUDE_DIRS} ${plcio_INCLUDE_DIRS} ROOT + LINK_LIBRARIES GaudiAlgLib GaudiKernel podio::podioRootIO ${LCIO_LIBRARIES} ${plcio_LIBRARIES} ROOT PUBLIC_HEADERS FWCore) gaudi_add_module(FWCorePlugins diff --git a/FWCore/FWCore/LCIODataSvc.h b/FWCore/FWCore/LCIODataSvc.h index 8bfa3261f7d4e6da0da9e4dc860aaa9a282f8f58..74bf958bf2987b048192bb1031bbb40987ad4bf0 100644 --- a/FWCore/FWCore/LCIODataSvc.h +++ b/FWCore/FWCore/LCIODataSvc.h @@ -29,8 +29,6 @@ class LCIODataSvc : public DataSvc { public: - friend class SvcFactory<LCIODataSvc>; - typedef std::vector<std::pair<std::string, podio::CollectionBase*>> CollRegistry; virtual StatusCode initialize(); diff --git a/FWCore/src/components/CEPCDataSvc.cpp b/FWCore/src/components/CEPCDataSvc.cpp index fa870478432eaf570360b8bceb73406cf2e66692..0325578c04befbdc4f25235749a85c6f94883814 100644 --- a/FWCore/src/components/CEPCDataSvc.cpp +++ b/FWCore/src/components/CEPCDataSvc.cpp @@ -6,7 +6,7 @@ // Instantiation of a static factory class used by clients to create // instances of this service -DECLARE_SERVICE_FACTORY(CEPCDataSvc) +DECLARE_COMPONENT(CEPCDataSvc) /// Standard Constructor CEPCDataSvc::CEPCDataSvc(const std::string& name, ISvcLocator* svc) diff --git a/FWCore/src/components/CEPCDataSvc.h b/FWCore/src/components/CEPCDataSvc.h index 4953799c435618413978cb309abbda04ae78e83d..ff3878d76ac3f2d5d4dab236eb26ceab22149fd4 100644 --- a/FWCore/src/components/CEPCDataSvc.h +++ b/FWCore/src/components/CEPCDataSvc.h @@ -5,7 +5,6 @@ class CEPCDataSvc : public PodioDataSvc { - friend class SvcFactory<CEPCDataSvc>; public: /// Standard Constructor diff --git a/FWCore/src/components/LCIODataSvc.cpp b/FWCore/src/components/LCIODataSvc.cpp index 3656f3ffc0770552333da606856a02209242921f..a807be847902c81973c872851edb2d9785241e6d 100644 --- a/FWCore/src/components/LCIODataSvc.cpp +++ b/FWCore/src/components/LCIODataSvc.cpp @@ -16,7 +16,7 @@ typedef std::vector<lcio::MCParticle*> MCParticleVec ; -DECLARE_SERVICE_FACTORY(LCIODataSvc) +DECLARE_COMPONENT(LCIODataSvc) /// Service initialisation StatusCode LCIODataSvc::initialize() { // Nothing to do: just call base class initialisation diff --git a/FWCore/src/components/LCIOInput.h b/FWCore/src/components/LCIOInput.h index 1ede535f1bd62a54e565a20e9abf005d85825603..252a504c657af62a40fd4adf3f92a1244572c852 100644 --- a/FWCore/src/components/LCIOInput.h +++ b/FWCore/src/components/LCIOInput.h @@ -19,7 +19,6 @@ class LCIODataSvc; */ class LCIOInput : public GaudiAlgorithm { - friend class AlgFactory<LCIOInput>; public: /// Constructor. diff --git a/FWCore/src/components/PodioInput.h b/FWCore/src/components/PodioInput.h index 0319d78f63a715edd5bd42d5e08823328ed759f2..42b2157f8bad865a61e333e2a858276de61090fa 100644 --- a/FWCore/src/components/PodioInput.h +++ b/FWCore/src/components/PodioInput.h @@ -19,7 +19,6 @@ class PodioDataSvc; */ class PodioInput : public GaudiAlgorithm { - friend class AlgFactory<PodioInput>; public: /// Constructor. diff --git a/FWCore/src/components/PodioOutput.h b/FWCore/src/components/PodioOutput.h index f1c93beabd1436202330011ffe741bcdfa5d2dab..2a7de0c06c7a0e54dad03bc641691bf90261d979 100644 --- a/FWCore/src/components/PodioOutput.h +++ b/FWCore/src/components/PodioOutput.h @@ -14,7 +14,6 @@ class TFile; class PodioDataSvc; class PodioOutput : public GaudiAlgorithm { - friend class AlgFactory<PodioOutput>; public: /// Constructor.