diff --git a/MQ/histoServer/CMakeLists.txt b/MQ/histoServer/CMakeLists.txt
index 8cc626787e566e388542dad1fcdad7dcc4feeef0..b776c77c95276526644b349dfca3035e178921ae 100644
--- a/MQ/histoServer/CMakeLists.txt
+++ b/MQ/histoServer/CMakeLists.txt
@@ -6,87 +6,50 @@
  #                  copied verbatim in the file "LICENSE"                       #
  ################################################################################
 
-Set(INCLUDE_DIRECTORIES
+set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
-  ${CBMROOT_SOURCE_DIR}/fles/flestools
 )
 
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-    ${FAIRLOGGER_INCLUDE_DIR}
-)
-
-Include_Directories(${INCLUDE_DIRECTORIES})
-Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-Set(LINK_DIRECTORIES
-  ${Boost_LIBRARY_DIRS}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${ROOT_LIBRARY_DIR}
-)
-
-Link_Directories(${LINK_DIRECTORIES})
-
-set(FAIR_LIBS
-  FairMQ
-)
-
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-    ${FAIR_LIBS}
-    FairLogger
-  )
-EndIf()
-
-
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-)
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
-
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/histogramServer")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/histogramServer)
 
+
+set(PUBLIC_DEPS
+  ROOT::Core
+  ROOT::RHTTP
+  )
+
+set(PRIVATE_DEPS
+  CbmFlibFlesTools
+  FairRoot::Base
+  FairMQ::Tools
+  FairMQ::FairMQ
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::Net
+  ROOT::RIO
+  )
+    
 set(EXE_NAME HistoServer)
 set(SRCS CbmHistoServer.cxx runCbmHistoServer.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME MqHistoServer)
 set(SRCS CbmMqHistoServer.cxx runCbmMqHistoServer.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  CbmFlibFlesTools
-  Core
-  RIO
-  Net
-  Hist
-  Gpad
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
diff --git a/MQ/hitbuilder/CMakeLists.txt b/MQ/hitbuilder/CMakeLists.txt
index 365f168a51adfae1a11ffb5df6482ed87b953c06..9010a720742fe0f54d460b641555eab5aa6a1642 100644
--- a/MQ/hitbuilder/CMakeLists.txt
+++ b/MQ/hitbuilder/CMakeLists.txt
@@ -3,94 +3,52 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQ_Mcbm.sh.in ${CMAKE_BINARY_DIR
 
 set(INCLUDE_DIRECTORIES
     ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CBMDATA_DIR}
-    ${CBMDATA_DIR}/base
-    ${CBMDATA_DIR}/tof
-    ${CBMBASE_DIR}
-    ${CBMDETECTORBASE_DIR}/tof
-    ${CBMROOT_SOURCE_DIR}/MQ/base
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${ZeroMQ_INCLUDE_DIR}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRLOGGER_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-    ${VMC_INCLUDE_DIRS}
-
-    ${FLES_IPC_INCLUDE_DIRECTORY}
-    ${CBMROOT_SOURCE_DIR}/external/cppzmq
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/tof
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+    )
 
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/hitbuilder")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/hitbuilder)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-)
+
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  Base
-  ParBase
-  ${FAIRMQ_LIBS}
-)
-
-
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
-
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
 
 set(EXE_NAME HitBuilderTof)
 set(SRCS CbmDeviceHitBuilderTof.cxx runHitBuilderTof.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-#    external::fles_ipc
-  CbmBase
+set(PUBLIC_DEPENDENCIES
   CbmData
   CbmTofBase
-  Geom
-  Core
-  MathCore
-  Tree
-  Physics
-  RIO
-  Net
-  Hist
-)
-GENERATE_EXECUTABLE()
+  CbmMQBase
+  FairRoot::Base
+  ROOT::Geom
+
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmBase
+  CbmTofReco  
+  FairMQ::Tools
+  FairRoot::ParBase
+  ROOT::Core
+  ROOT::Graf
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Minuit
+  ROOT::Physics
+  )
+
+set(INTERFACE_DEPENDENCIES
+  FairMQ::FairMQ
+  external::fles_ipc
+  ROOT::Net
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_executable()
 
 # Set the correct variables for the installation
 set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot)
diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt
index 57851cde0984f9476517f1056932ea8b97136158..75a34bbe5850277b08204384fe761a0179edf6ec 100644
--- a/MQ/mcbm/CMakeLists.txt
+++ b/MQ/mcbm/CMakeLists.txt
@@ -7,303 +7,134 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startBuildRawEvents2022.sh.in
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startBmonMoni2022.sh.in              ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startBmonMoni2022.sh)
 
 set(INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_SOURCE_DIR}/MQ/base
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/tasks
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ
-    ${CBMROOT_SOURCE_DIR}/fles/flestools
-    ${CBMROOT_SOURCE_DIR}/reco/eventbuilder/digis
-    ${CBMROOT_SOURCE_DIR}/reco/base/
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/much/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/psd/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/rich/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/sts/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/tof/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/trd/unpack
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/trd/rawToDigiMethods
-    ${CBMDATA_DIR}
-    ${CBMDATA_DIR}/raw
-    ${CBMDATA_DIR}/sts
-    ${CBMDATA_DIR}/much
-    ${CBMDATA_DIR}/rich
-    ${CBMDATA_DIR}/tof
-    ${CBMDATA_DIR}/psd
-    ${CBMDATA_DIR}/trd
-    ${CBMDATA_DIR}/mvd # Feint to avoid crash of DigiManager due to missing source pointer
-    ${CBMDATA_DIR}/base
-    ${CBMDATA_DIR}/global
-    ${CBMBASE_DIR}
-    ${CBMROOT_SOURCE_DIR}/sim/transport/steer # For CbmSetup.h!
-    ${CBMROOT_SOURCE_DIR}/sim/transport/geosetup # For CbmGeoSetupDbProvider.h, needed by CbmSetup
-
-    ${CBMDETECTORBASE_DIR}/sts # required for parameter handling of the sts
-    ${CBMDETECTORBASE_DIR}/much # required for parameter handling of the much
-    ${CBMDETECTORBASE_DIR}/trd # required for parameter handling of the trd
-    ${CBMDETECTORBASE_DIR}/tof # required for parameter handling of the tof
-    ${CBMDETECTORBASE_DIR}/rich # required for parameter handling of the rich
-    ${CBMDETECTORBASE_DIR}/psd # required for fitting tools of the psd
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${BASE_INCLUDE_DIRECTORIES}
-    ${ZeroMQ_INCLUDE_DIR}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-    ${VMC_INCLUDE_DIRS}
-    ${FAIRLOGGER_INCLUDE_DIR}
-
-    ${FLES_IPC_INCLUDE_DIRECTORY}
-    ${CBMROOT_SOURCE_DIR}/external/cppzmq
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${KFParticle_LIB_DIR}
-  ${FAIRMQ_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${ROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/mcbm")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/mcbm)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-)
+
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  ${FAIRMQ_LIBS}
-)
-
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
+set(PUBLIC_DEPS
+  CbmData
+  CbmFlibMcbm2018
+  CbmMQBase
+  FairRoot::ParBase
+  ROOT::Core
+  Boost::program_options
+  L1
+  )
 
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
+set(PRIVATE_DEPS
+  CbmFlibFlesTools
+  CbmMuchReco
+  CbmPsdReco
+  CbmRecoSts
+  CbmRichReco
+  CbmSimSteer
+  CbmTofReco
+  CbmTrdReco
+  CbmEventBuilder
+  FairMQ::Tools
+  FairRoot::Base
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::RIO
+  )
+
+set(INTERFACE_DEPS
+  FairMQ::FairMQ
+  external::fles_ipc
+  )
 
 set(EXE_NAME McbmUnpack)
 set(SRCS CbmDeviceMcbmUnpack.cxx runMcbmUnpack.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmBase
-  CbmData
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME McbmMonitorPulser)
 set(SRCS CbmDeviceMcbmMonitorPulser.cxx runMcbmMonitorPulser.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmBase
-  CbmData
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME BuildRawEvents)
 set(SRCS CbmDeviceBuildRawEvents.cxx runBuildRawEvents.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  KFParticle
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmEventBuilder
-  KF
-  L1
-  CbmBase
-  CbmData
-  CbmTofBase
-  CbmSimBase
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 
 set(EXE_NAME McbmEventBuilderWin)
 set(SRCS CbmDeviceMcbmEventBuilderWin.cxx runMcbmEvtBuilderWin.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmBase
-  CbmData
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME McbmEventSink)
 set(SRCS CbmDeviceMcbmEventSink.cxx runMcbmEventSink.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmBase
-  CbmData
-  Core
-  RIO
-  Tree
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 
 set(EXE_NAME MqUnpack)
 set(SRCS CbmDeviceUnpack.cxx runUnpack.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ParBase
-  ${BOOST_LIBS}
-  external::fles_ipc
-  CbmFlibFlesTools
-  CbmBase
-  CbmRecoBase
-  CbmMuchReco
-  CbmPsdReco
-  CbmRichReco
-  CbmRecoSts
-  CbmTofReco
-  CbmTrdReco
-  CbmData
-  CbmSimSteer # for CbmSetup!
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME BuildDigiEvents)
 set(SRCS CbmDeviceBuildDigiEvents.cxx runBuildDigiEvents.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  CbmFlibFlesTools
-  CbmEventBuilder
-  KF
-  L1
-  CbmBase
-  CbmRecoBase
-  CbmData
-  CbmTofBase
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 set(EXE_NAME DigiEventSink)
 set(SRCS CbmDeviceDigiEventSink.cxx runDigiEventSink.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmFlibFlesTools
-  CbmBase
-  CbmData
-  Core
-  Gpad
-  Hist
-  Net
-  RHTTP
-  RIO
-  Tree
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 
 set(EXE_NAME BmonMonitor)
 set(SRCS CbmDeviceBmonMonitor.cxx runBmonMonitor.cxx)
 
-set(DEPENDENCIES
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ParBase
-  ${BOOST_LIBS}
-  external::fles_ipc
-  CbmFlibFlesTools
-  CbmBase
-  CbmRecoBase
-  CbmMuchReco
-  CbmPsdReco
-  CbmRichReco
-  CbmRecoSts
-  CbmTofReco
-  CbmTrdReco
-  CbmData
-  CbmSimSteer # for CbmSetup!
-  Core
-  RIO
-  Net
-  Hist
-  RHTTP
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
 
 # Set the correct variables for the installation
 set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot)
diff --git a/MQ/parmq/CMakeLists.txt b/MQ/parmq/CMakeLists.txt
index c2eceec7ecc47fbc9aae966e789c59ad65c8ea1f..5326546a5f6567010efaa9a9dbcab0aa08d3540f 100644
--- a/MQ/parmq/CMakeLists.txt
+++ b/MQ/parmq/CMakeLists.txt
@@ -1,89 +1,34 @@
-Set(INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_SOURCE_DIR}/MQ/base
-    ${CBMDATA_DIR} # For CbmDefs, needed by CbmSetup
-    ${CBMROOT_SOURCE_DIR}/sim/transport/steer # For CbmSetup.h!
-    ${CBMROOT_SOURCE_DIR}/sim/transport/geosetup # For CbmGeoSetupDbProvider.h, needed by CbmSetup
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${SYSTEM_INCLUDE_DIRECTORIES}
-  ${FAIRROOT_INCLUDE_DIR}
-  ${FAIRMQ_INCLUDE_DIR}
-  ${FAIRMQ_INCLUDE_DIR}/options
-  ${Boost_INCLUDE_DIR}
-  ${ZeroMQ_INCLUDE_DIR}
-  ${FAIRLOGGER_INCLUDE_DIR} # For CbmSetup.h!
-)
-
-Include_Directories(${INCLUDE_DIRECTORIES})
-Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-Set(LINK_DIRECTORIES
-  ${Boost_LIBRARY_DIRS}
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-)
-
-Link_Directories(${LINK_DIRECTORIES})
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/parmq")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/parmq)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-  RIO
-)
+
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  Base
-  ParBase
-  ${FAIRMQ_LIBS}
-  Gen
-)
 
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
-
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
-
-Set(EXE_NAME parmq-server)
-Set(SRCS
-  ParameterMQServer.cxx
-  runParameterMQServer.cxx
+set(EXE_NAME parmq-server)
+set(SRCS ParameterMQServer.cxx runParameterMQServer.cxx
 #  CbmMQTestContFact.cxx
-)
-
-Set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  Core
-  Net
-  Geom
-  CbmBase
-  CbmData
-  CbmField
-  CbmTofBase
-  CbmStsBase
-  CbmStsSim
-  CbmSimBase
-  CbmSimSteer # for CbmSetup!
-  CbmFlibMcbm2018
-)
-GENERATE_EXECUTABLE()
+  )
+set(PRIVATE_DEPENDENCIES
+  CbmMQBase
+  CbmSimSteer
+  FairMQ::Tools
+  FairRoot::ParBase
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Net
+  )
+
+set(INTERFACE_DEPENDENCIES
+  FairMQ::FairMQ
+  )
+
+generate_cbm_executable()
diff --git a/MQ/sink/CMakeLists.txt b/MQ/sink/CMakeLists.txt
index c0495404925aaefa1057fec61170ef983d6ef9ed..2987aada8f1fb8cbdbe5d4c1482a9a7e0d7d4c36 100644
--- a/MQ/sink/CMakeLists.txt
+++ b/MQ/sink/CMakeLists.txt
@@ -1,81 +1,46 @@
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerSink.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerSink.sh)
 
 set(INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_SOURCE_DIR}/MQ/base
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${ZeroMQ_INCLUDE_DIR}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-
-    ${FLES_IPC_INCLUDE_DIRECTORY}
-    ${CBMROOT_SOURCE_DIR}/external/cppzmq
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
-
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
+  
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/sink")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/sink)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-)
+
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  ${FAIRMQ_LIBS}
-)
-
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
+set(PRIVATE_DEPS
+  CbmMQBase
+  FairMQ::Tools
+  external::fles_ipc
+  )
 
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
+set(INTERFACE_DEPS
+  FairMQ::FairMQ
+  )
 
 set(EXE_NAME DevNullSink)
 set(SRCS CbmDevNullSink.cxx runDevNullSink.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-)
-GENERATE_EXECUTABLE()
+
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
+
 
 set(EXE_NAME TsaComponentSink)
 set(SRCS CbmTsaComponentSink.cxx runTsaComponentSink.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-)
-GENERATE_EXECUTABLE()
+
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+generate_cbm_executable()
+
 
 # Install scripts and input file
 if(EXISTS ${VMCWORKDIR}/input/tofget4_hd2018.tsa)
diff --git a/MQ/source/CMakeLists.txt b/MQ/source/CMakeLists.txt
index 10daebc292b61864c2329c1f3c644cec85767f9e..5bf553df75906a0d32a0d60dcdc81875a097bf8b 100644
--- a/MQ/source/CMakeLists.txt
+++ b/MQ/source/CMakeLists.txt
@@ -2,190 +2,111 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQInfo.sh.in ${CMAKE_BINARY_DIR}
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSampler.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSampler.sh)
 
 set(INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_SOURCE_DIR}/MQ/base
-    ${CBMROOT_SOURCE_DIR}/fles/flestools
-    ${CBMBASE_DIR}
-    ${CBMDATA_DIR}
-    ${CBMDATA_DIR}/base
-    ${CBMDATA_DIR}/mvd
-    ${CBMDATA_DIR}/sts
-    ${CBMDATA_DIR}/rich
-    ${CBMDATA_DIR}/much
-    ${CBMDATA_DIR}/trd
-    ${CBMDATA_DIR}/tof
-    ${CBMDATA_DIR}/psd
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${BASE_INCLUDE_DIRECTORIES}
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${ZeroMQ_INCLUDE_DIR}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-    ${VMC_INCLUDE_DIRS}
-    ${FAIRLOGGER_INCLUDE_DIR}
-
-    ${FLES_IPC_INCLUDE_DIRECTORY}
-    ${FLES_LOGGING_INCLUDE_DIRECTORY}
-    ${CBMROOT_SOURCE_DIR}/external/cppzmq
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
 # Set the install path within the build directory
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/source")
 # Set the install path within the installation directory
 set(BIN_DESTINATION bin/MQ/source)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_FILESYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-  ${Boost_LOG_SETUP_LIBRARY}
-  ${Boost_REGEX_LIBRARY}
-  ${Boost_THREAD_LIBRARY}
-)
+
 
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  ${FAIRMQ_LIBS}
-)
+set(PUBLIC_DEPS
+  CbmMQBase
+  )
 
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
+set(PRIVATE_DEPS
+  CbmBase
+  CbmData
+  CbmFlibFlesTools
+  external::fles_logging
+  cppzmq
+  FairMQ::Tools
+  FairRoot::Base
+  FairRoot::ParBase
+  )
 
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
+set(INTERFACE_DEPS
+  FairMQ::FairMQ
+  )
 
 set(EXE_NAME TsaSampler)
 set(SRCS CbmMQTsaSampler.cxx runTsaSampler.cxx)
-set(DEPENDENCIES
-  external::fles_ipc
-  ${DEPENDENCIES_ALL}
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME MultiTsaSampler)
 set(SRCS CbmMQTsaMultiSampler.cxx runTsaMultiSampler.cxx)
-set(DEPENDENCIES
-  external::fles_ipc
-  CbmFlibFlesTools
-  ${DEPENDENCIES_ALL}
-  CbmMQBase
-  Core
-  Gpad
-  Hist
-  Net
-  RHTTP
-  RIO
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME RepReqTsSampler)
 set(SRCS CbmMQTsSamplerRepReq.cxx runTsSamplerRepReq.cxx)
-set(DEPENDENCIES
-  external::fles_ipc
-  CbmFlibFlesTools
-  ${DEPENDENCIES_ALL}
-  CbmMQBase
-  Core
-  Gpad
-  Hist
-  Net
-  RHTTP
-  RIO
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 
 set(EXE_NAME TsaSamplerTof)
 set(SRCS CbmMQTsaSamplerTof.cxx runTsaSamplerTof.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME TsaMultiSamplerTof)
 set(SRCS CbmMQTsaMultiSamplerTof.cxx runTsaMultiSamplerTof.cxx)
-set(DEPENDENCIES
-  external::fles_ipc
-  ${DEPENDENCIES_ALL}
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME TsaInfo)
 set(SRCS CbmMQTsaInfo.cxx runTsaInfo.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME StsDigiSource)
 set(SRCS CbmStsDigiSource.cxx runStsDigiSource.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  CbmBase
-  Core
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME MCPointSource)
 set(SRCS CbmMCPointSource.cxx runMCPointSource.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  CbmBase
-  Core
-  CbmMQBase
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 set(EXE_NAME TsConsumerReqExample)
 set(SRCS CbmTsConsumerReqDevExample.cxx runTsConsumerReqExample.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmMQBase
-  CbmFlibFlesTools
-  Core
-  Gpad
-  Hist
-  Net
-  RHTTP
-  RIO
-)
-GENERATE_EXECUTABLE()
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
+
+  generate_cbm_executable()
 
 # Install scripts and input file
 if(EXISTS ${VMCWORKDIR}/input/tofget4_hd2018.tsa)
diff --git a/MQ/unpacker/CMakeLists.txt b/MQ/unpacker/CMakeLists.txt
index 50b34ee200896d676dbfa43913275442d576f659..41f190f8bf975e3aae045afa5fdaaf1d1cba4311 100644
--- a/MQ/unpacker/CMakeLists.txt
+++ b/MQ/unpacker/CMakeLists.txt
@@ -1,116 +1,54 @@
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerUnpackerParserver.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerUnpackerParserver.sh)
 
 set(INCLUDE_DIRECTORIES
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${BASE_INCLUDE_DIRECTORIES}
-    ${CBMROOT_SOURCE_DIR}/MQ/base
-#    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/parameter
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/dataformat
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/unpacker
-    ${CBMROOT_SOURCE_DIR}/fles/mcbm2018/commonMQ
-    ${CBMROOT_SOURCE_DIR}/reco/base
-    ${CBMROOT_SOURCE_DIR}/reco/detectors/tof/unpack
-
-    ${CBMDATA_DIR}
-    ${CBMDATA_DIR}/raw
-    ${CBMDATA_DIR}/tof
-
-    ${CBMBASE_DIR}
-
-    ${CBMDETECTORBASE_DIR}/tof
-)
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-    ${SYSTEM_INCLUDE_DIRECTORIES}
-    ${ZeroMQ_INCLUDE_DIR}
-    ${Boost_INCLUDE_DIR}
-    ${FAIRROOT_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}
-    ${FAIRMQ_INCLUDE_DIR}/options
-
-    ${FLES_IPC_INCLUDE_DIRECTORY}
-    ${CBMROOT_SOURCE_DIR}/external/cppzmq
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
 set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/MQ/unpacker")
+# set the install dir
+set(BIN_DESTINATION bin/MQ/unpacker)
 
-Set(BOOST_LIBS
-  ${Boost_SYSTEM_LIBRARY}
-  ${Boost_SERIALIZATION_LIBRARY}
-  ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  ${Boost_LOG_LIBRARY}
-)
 If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-set(FAIR_LIBS
-  Base
-  ParBase
-  ${FAIRMQ_LIBS}
-)
-
-If(FAIRLOGGER_FOUND)
-  set(FAIR_LIBS
-      ${FAIR_LIBS}
-      FairLogger
-     )
-EndIf()
+set(PUBLIC_DEPS
+  CbmData
+  CbmMQBase
+  CbmTofBase
+  CbmTofReco
+  )
 
-# Dependencies common to all executables
-set(DEPENDENCIES_ALL
-  ${DEPENDENCIES}
-  ${FAIR_LIBS}
-  ${BOOST_LIBS}
-)
+set(PRIVATE_DEPS
+  CbmBase
+  CbmFlibMcbm2018
+  FairLogger::FairLogger
+  FairMQ::Tools
+  FairRoot::ParBase
+  ROOT::Hist
+  external::fles_ipc
+  ROOT::Net
+  )
+
+set(INTERFACE_DEPS
+  FairMQ::FairMQ
+  )
 
 set(EXE_NAME UnpackTofMcbm2018)
 set(SRCS CbmTbDaqBuffer.cxx CbmDeviceUnpackTofMcbm2018.cxx runUnpackTofMcbm2018.cxx)
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
 
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmTofBase
-  CbmBase
-#  CbmBeamtimeBase
-  CbmData
-  Core
-  RIO
-  Net
-  Hist
-)
+generate_cbm_executable()
 
 set(EXE_NAME UnpackTofCri)
 set(SRCS CbmTbDaqBuffer.cxx CbmDeviceUnpackTofCri.cxx runUnpackTofCri.cxx)
-set(DEPENDENCIES
-  ${DEPENDENCIES_ALL}
-  external::fles_ipc
-  CbmFlibMcbm2018
-  CbmTofBase
-  CbmBase
-  CbmData
-  CbmTofReco
-  Core
-  RIO
-  Net
-  Hist
-)
+set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) 
+set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) 
+set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS})
 
-# set the install dir
-set(BIN_DESTINATION bin/MQ/unpacker)
-GENERATE_EXECUTABLE()
+generate_cbm_executable()
 
 # Install script and input file(s)
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/MapTofHdCosmics_v18d.par