diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index 19c7108cb8fd5350f0f250646f75a18cc30f8467..b0819b725e1079c5d0740e035b86c3854b889ce9 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -38,7 +38,6 @@ else() LCG_external_package(rpy2 2.8.6 ) LCG_external_package(networkx 2.2 ) LCG_external_package(matplotlib 2.2.4 ) - LCG_AA_project(DD4hep 01-10 ) LCG_external_package(4suite 1.0.2p1 ) LCG_external_package(astroid 1.6.6p1 author=1.6.6 ) LCG_external_package(contextlib2 0.5.5 ) @@ -90,6 +89,7 @@ if(${LCG_OS}${LCG_OSVERS} MATCHES centos7 AND ${LCG_COMP}${LCG_COMPVERS} MATCHES LCG_AA_project(Gaudi v32r2 GIT=https://gitlab.cern.ch/gaudi/Gaudi.git) endif() +LCG_AA_project(DD4hep 01-11 ) # Externals LCG_external_package(lcgenv 1.3.8 ) diff --git a/projects/patches/DD4hep-01-11.patch b/projects/patches/DD4hep-01-11.patch new file mode 100644 index 0000000000000000000000000000000000000000..bdebe4b78790c0593f3b939e2d6849fc0e2d9aaf --- /dev/null +++ b/projects/patches/DD4hep-01-11.patch @@ -0,0 +1,70 @@ +--- GaudiPluginService/src/PluginService.cpp.orig 2019-08-26 17:23:22.000000000 +0200 ++++ GaudiPluginService/src/PluginService.cpp 2019-08-26 17:45:56.000000000 +0200 +@@ -42,29 +42,22 @@ + #define SINGLETON_LOCK + #endif + +-// string trimming functions taken from +-// http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring + #include <algorithm> + // trim from start +-static inline std::string <rim(std::string &s) { +- s.erase(s.begin(), +- std::find_if(s.begin(), s.end(), +- std::not1(std::ptr_fun<int, int>(std::isspace)))); +- return s; ++static inline std::string& ltrim(std::string& s) { ++ s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int ch) {return !std::isspace(ch);})); ++ return s; + } + + // trim from end +-static inline std::string &rtrim(std::string &s) { +- s.erase(std::find_if(s.rbegin(), s.rend(), +- std::not1(std::ptr_fun<int, int>(std::isspace))) +- .base(), +- s.end()); +- return s; ++static inline std::string& rtrim(std::string& s) { ++ s.erase(std::find_if(s.rbegin(), s.rend(), [](int ch) {return !std::isspace(ch);}).base(), s.end()); ++ return s; + } ++ + // trim from both ends +-static inline std::string &trim(std::string &s) { +- return ltrim(rtrim(s)); +-} ++static inline std::string& trim( std::string& s ) { return ltrim( rtrim( s ) ); } ++ + + namespace { + /// Helper function used to set values in FactoryInfo data members only +--- DDCore/src/DetectorImp.cpp.orig 2019-08-26 17:58:05.000000000 +0200 ++++ DDCore/src/DetectorImp.cpp 2019-08-26 18:01:07.000000000 +0200 +@@ -104,7 +104,6 @@ + << "**************************************************** \n" + << endl ; + +- set_unexpected(std::unexpected); + set_terminate(std::terminate); + // this provokes ROOT seg fault and stack trace (comment out to avoid it) + exit(1) ; +@@ -153,7 +152,6 @@ + : TNamed(), DetectorData(), DetectorLoad(this), m_buildType(BUILD_NONE) + { + SetTitle("DD4hep detector description object"); +- set_unexpected( description_unexpected ) ; + set_terminate( description_unexpected ) ; + InstanceCount::increment(this); + //if ( gGeoManager ) delete gGeoManager; +--- DDCore/include/DD4hep/Memory.h.orig 2019-08-26 17:50:49.000000000 +0200 ++++ DDCore/include/DD4hep/Memory.h 2019-08-26 17:53:09.000000000 +0200 +@@ -30,7 +30,7 @@ + #include <memory> + + // Use std::auto_ptr<T> instead of std::unique_ptr<T> +-#define DD4HEP_DD4HEP_PTR_AUTO ++//#define DD4HEP_DD4HEP_PTR_AUTO + + /// Namespace for the AIDA detector description toolkit + namespace dd4hep {