From 69eec15977da35e7ed53b0c5c84cedb6e7744d5f Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Fri, 8 Apr 2022 10:32:51 +0200
Subject: [PATCH] Revise the build environment

Remove many switches which are not needed any longer, since minimum versions
for C++ standard, Root, FairSoft and FairRoot are fixed.
---
 CbmRoot_test.cmake                   |  7 +-
 MQ/CMakeLists.txt                    | 11 +---
 MQ/base/CbmMQDefs.h                  | 39 ------------
 MQ/histoServer/CMakeLists.txt        |  5 --
 MQ/histoServer/CbmHistoServer.cxx    |  7 +-
 MQ/mcbm/CMakeLists.txt               | 95 +++++++++++++---------------
 core/base/CMakeLists.txt             |  6 --
 core/base/utils/CbmGeometryUtils.cxx |  4 --
 macro/CMakeLists.txt                 |  4 +-
 reco/CMakeLists.txt                  |  6 +-
 tutorials/TaskToAlgo/CMakeLists.txt  |  6 +-
 11 files changed, 50 insertions(+), 140 deletions(-)

diff --git a/CbmRoot_test.cmake b/CbmRoot_test.cmake
index 3c8747221b..bc7b2499dd 100644
--- a/CbmRoot_test.cmake
+++ b/CbmRoot_test.cmake
@@ -25,12 +25,7 @@ Set(CMAKE_MODULE_PATH "${CTEST_SOURCE_DIRECTORY}/cmake/modules" ${CMAKE_MODULE_P
 Include(CbmMacros)
 FairRootVersion()
 
-If(${FairRoot_VERSION} VERSION_LESS 16.0.0)
-  Set(CTEST_USE_LAUNCHERS 0)
-Else()
-  Set(CTEST_USE_LAUNCHERS 1)
-EndIf()
-
+Set(CTEST_USE_LAUNCHERS 1)
 
 If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous)
   Set(_BuildType NIGHTLY)
diff --git a/MQ/CMakeLists.txt b/MQ/CMakeLists.txt
index 0aeb4fccbb..b19ebfa440 100644
--- a/MQ/CMakeLists.txt
+++ b/MQ/CMakeLists.txt
@@ -1,13 +1,4 @@
-If(FairSoft_VERSION VERSION_LESS 18.6.0)
-  Add_Definitions(-DHAVE_FAIRMQSTATEMACHINE)
-EndIf()
-
-
-if(FairMQ_HAS_StateMachine)
-  Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
-else()
-  Set(FAIRMQ_LIBS FairMQ)
-EndIf()
+Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
 
 # RPATH information should be present for executables in the build as well
 # as in the installation directory
diff --git a/MQ/base/CbmMQDefs.h b/MQ/base/CbmMQDefs.h
index 516a99b621..03c4351683 100644
--- a/MQ/base/CbmMQDefs.h
+++ b/MQ/base/CbmMQDefs.h
@@ -2,9 +2,6 @@
    SPDX-License-Identifier: GPL-3.0-only
    Authors: Florian Uhlig [committer] */
 
-//#ifdef HAVE_FAIRMQSTATEMACHINE
-//#include "FairMQStateMachine.h"
-//#endif
 #include "FairMQDevice.h"
 
 namespace cbm
@@ -28,27 +25,6 @@ namespace cbm
 
     void ChangeState(FairMQDevice* device, cbm::mq::Transition transition)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      if (transition == cbm::mq::Transition::ErrorFound) {
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-      }
-      else if (transition == cbm::mq::Transition::End) {
-        device->ChangeState(FairMQStateMachine::Event::END);
-      }
-      else if (transition == cbm::mq::Transition::Ready) {
-        device->ChangeState(FairMQStateMachine::Event::internal_READY);
-      }
-      else if (transition == cbm::mq::Transition::DeviceReady) {
-        device->ChangeState(FairMQStateMachine::Event::internal_DEVICE_READY);
-      }
-      else if (transition == cbm::mq::Transition::Idle) {
-        device->ChangeState(FairMQStateMachine::Event::internal_IDLE);
-      }
-      else {
-        LOG(fatal) << "State Change not yet implemented";
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-      }
-#else
       if (transition == cbm::mq::Transition::ErrorFound) { device->ChangeState(fair::mq::Transition::ErrorFound); }
       else if (transition == cbm::mq::Transition::End) {
         device->ChangeState(fair::mq::Transition::End);
@@ -66,36 +42,21 @@ namespace cbm
         LOG(fatal) << "State Change not yet implemented";
         device->ChangeState(fair::mq::Transition::ErrorFound);
       }
-#endif
     }
 
     void LogState(FairMQDevice* device)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      //      LOG(info) << "Current State: " <<  FairMQStateMachine::GetCurrentStateName();
-      LOG(info) << "Current State: " << device->GetCurrentStateName();
-#else
       LOG(info) << "Current State: " << device->GetCurrentStateName();
-#endif
     }
 
     bool CheckCurrentState(FairMQDevice* device, cbm::mq::State state)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      if (state == cbm::mq::State::Running) { return device->CheckCurrentState(FairMQStateMachine::State::RUNNING); }
-      else {
-        LOG(fatal) << "State not yet implemented";
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-        return 0;
-      }
-#else
       if (state == cbm::mq::State::Running) { return !(device->NewStatePending()); }
       else {
         LOG(fatal) << "State not yet implemented";
         device->ChangeState(fair::mq::Transition::ErrorFound);
         return 0;
       }
-#endif
     }
   }  // namespace mq
 }  // namespace cbm
diff --git a/MQ/histoServer/CMakeLists.txt b/MQ/histoServer/CMakeLists.txt
index d6c772e212..761cda1a8a 100644
--- a/MQ/histoServer/CMakeLists.txt
+++ b/MQ/histoServer/CMakeLists.txt
@@ -51,11 +51,6 @@ If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-If(FairRoot_VERSION VERSION_LESS 18.2.0)
-  Add_Definitions(-DHAVE_RootDeserializer)
-EndIf()
-
-
 set(DEPENDENCIES_ALL
   ${DEPENDENCIES}
   ${FAIR_LIBS}
diff --git a/MQ/histoServer/CbmHistoServer.cxx b/MQ/histoServer/CbmHistoServer.cxx
index 93d15d733d..a378a618a4 100644
--- a/MQ/histoServer/CbmHistoServer.cxx
+++ b/MQ/histoServer/CbmHistoServer.cxx
@@ -45,12 +45,7 @@ void CbmHistoServer::InitTask()
 bool CbmHistoServer::ReceiveData(FairMQMessagePtr& msg, int /*index*/)
 {
   TObject* tempObject = nullptr;
-#ifdef HAVE_RootDeserializer
-  Deserialize<RootDeserializer>(*msg, tempObject);
-#else
-  //  Deserialize<RootSerializer>(*msg, tempObject);
-  RootSerializer().Deserialize(*msg, tempObject);
-#endif
+  Deserialize<RootSerializer>(*msg, tempObject);
 
   if (TString(tempObject->ClassName()).EqualTo("TObjArray")) {
     std::lock_guard<std::mutex> lk(mtx);
diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt
index 5abc91623f..ab4843e0c0 100644
--- a/MQ/mcbm/CMakeLists.txt
+++ b/MQ/mcbm/CMakeLists.txt
@@ -259,36 +259,29 @@ set(DEPENDENCIES
 )
 GENERATE_EXECUTABLE()
 
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  set(EXE_NAME EventBuilder)
-  set(SRCS CbmDeviceEventBuilder.cxx runEventBuilder.cxx)
-
-  set(DEPENDENCIES
-    ${DEPENDENCIES}
-    ${FAIR_LIBS}
-    ${BOOST_LIBS}
-    Algo
-    CbmFlibFlesTools
-    CbmEventBuilder
-    KF
-    L1
-    CbmBase
-    CbmRecoBase
-    CbmData
-    CbmTofBase
-    Core
-    RIO
-    Net
-    Hist
-    RHTTP
-  )
-  GENERATE_EXECUTABLE()
-endif()
-
-#set(INCLUDE_DIRECTORIES
-#    ${CBMDATA_DIR}/base
-#    $INCLUDE_DIRECTORIES
-#    )
+set(EXE_NAME EventBuilder)
+set(SRCS CbmDeviceEventBuilder.cxx runEventBuilder.cxx)
+
+set(DEPENDENCIES
+  ${DEPENDENCIES}
+  ${FAIR_LIBS}
+  ${BOOST_LIBS}
+  Algo
+  CbmFlibFlesTools
+  CbmEventBuilder
+  KF
+  L1
+  CbmBase
+  CbmRecoBase
+  CbmData
+  CbmTofBase
+  Core
+  RIO
+  Net
+  Hist
+  RHTTP
+)
+GENERATE_EXECUTABLE()
 
 set(EXE_NAME DigiEventSink)
 set(SRCS CbmDeviceDigiEventSink.cxx runDigiEventSink.cxx)
@@ -311,28 +304,26 @@ set(DEPENDENCIES
 )
 GENERATE_EXECUTABLE()
 
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  set(EXE_NAME EventSink)
-  set(SRCS CbmDeviceEventSink.cxx runEventSink.cxx)
-
-  set(DEPENDENCIES
-    ${DEPENDENCIES}
-    ${FAIR_LIBS}
-    ${BOOST_LIBS}
-    fles_ipc
-    CbmFlibMcbm2018
-    CbmFlibFlesTools
-    CbmBase
-    CbmData
-    Core
-    RIO
-    Tree
-    Net
-    Hist
-    RHTTP
-  )
-  GENERATE_EXECUTABLE()
-endif()
+set(EXE_NAME EventSink)
+set(SRCS CbmDeviceEventSink.cxx runEventSink.cxx)
+
+set(DEPENDENCIES
+  ${DEPENDENCIES}
+  ${FAIR_LIBS}
+  ${BOOST_LIBS}
+  fles_ipc
+  CbmFlibMcbm2018
+  CbmFlibFlesTools
+  CbmBase
+  CbmData
+  Core
+  RIO
+  Tree
+  Net
+  Hist
+  RHTTP
+)
+GENERATE_EXECUTABLE()
 
 # Set the correct variables for the installation
 set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot)
diff --git a/core/base/CMakeLists.txt b/core/base/CMakeLists.txt
index 506060bc73..ee65ab3b77 100644
--- a/core/base/CMakeLists.txt
+++ b/core/base/CMakeLists.txt
@@ -61,12 +61,6 @@ utils/CbmFileUtils.cxx
 )
 
 
-If(${FairRoot_VERSION} VERSION_LESS 18.4.0)
-  set_source_files_properties(utils/CbmGeometryUtils.cxx
-                              PROPERTIES COMPILE_DEFINITIONS OLD_MODULE_VERSION
-                             )
-EndIf()
-
 Set(LINKDEF CbmBaseLinkDef.h)
 Set(LIBRARY_NAME CbmBase)
 Set(DEPENDENCIES
diff --git a/core/base/utils/CbmGeometryUtils.cxx b/core/base/utils/CbmGeometryUtils.cxx
index cf094b6162..6f56baab56 100644
--- a/core/base/utils/CbmGeometryUtils.cxx
+++ b/core/base/utils/CbmGeometryUtils.cxx
@@ -326,11 +326,7 @@ namespace Cbm
         if (fNode->GetNdaughters() > 0) { Cbm::GeometryUtils::ExpandNodes(v, mod); }
         Cbm::GeometryUtils::AssignMediumAtImport(v);
 
-#ifdef OLD_MODULE_VERSION
-        if ((mod->InheritsFrom("FairDetector")) && mod->CheckIfSensitive(v->GetName())) {
-#else
         if ((mod->InheritsFrom("FairDetector")) && mod->IsSensitive(v->GetName())) {
-#endif
           LOG(debug) << "Module " << v->GetName() << " of detector " << mod->GetName() << " is sensitive";
           mod->AddSensitiveVolume(v);
         }
diff --git a/macro/CMakeLists.txt b/macro/CMakeLists.txt
index ffadbc3d6d..073f4f32a4 100644
--- a/macro/CMakeLists.txt
+++ b/macro/CMakeLists.txt
@@ -4,9 +4,7 @@ add_subdirectory(mcbm)
 add_subdirectory(mvd)
 add_subdirectory(much)
 add_subdirectory(include)
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  add_subdirectory (reco)
-endif()
+add_subdirectory (reco)
 
 #--- Additional tests for nightly builds
 If(NOT ${CBM_TEST_MODEL} MATCHES Experimental)
diff --git a/reco/CMakeLists.txt b/reco/CMakeLists.txt
index 2df13eab89..f17376633c 100644
--- a/reco/CMakeLists.txt
+++ b/reco/CMakeLists.txt
@@ -12,7 +12,5 @@ add_subdirectory(littrack)
 add_subdirectory(steer)
 add_subdirectory(tracking)
 add_subdirectory(qa)
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  add_subdirectory (tasks)
-  add_subdirectory (app)
-endif()
+add_subdirectory (tasks)
+add_subdirectory (app)
diff --git a/tutorials/TaskToAlgo/CMakeLists.txt b/tutorials/TaskToAlgo/CMakeLists.txt
index a10bb2af7f..218a80cef3 100644
--- a/tutorials/TaskToAlgo/CMakeLists.txt
+++ b/tutorials/TaskToAlgo/CMakeLists.txt
@@ -82,11 +82,7 @@ If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-if(FairMQ_HAS_StateMachine)
-  Set(FAIR_LIBS FairMQStateMachine FairMQ)
-else()
-  Set(FAIR_LIBS FairMQ)
-EndIf()
+Set(FAIR_LIBS FairMQStateMachine FairMQ)
 
 If(FAIRLOGGER_FOUND)
   set(FAIR_LIBS
-- 
GitLab