diff --git a/mvd/CMakeLists.txt b/mvd/CMakeLists.txt
index 7199374d96c6bc041839b420350b94d69ae31b56..d0dd43e9f54ea1ecd8416180fdb98e1c5bc8c61a 100644
--- a/mvd/CMakeLists.txt
+++ b/mvd/CMakeLists.txt
@@ -8,61 +8,34 @@ set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}/plugins/buffers
   ${CMAKE_CURRENT_SOURCE_DIR}/qa
 
-  ${CBMDATA_DIR}
-  ${CBMDATA_DIR}/base
-  ${CBMDATA_DIR}/sts
-  ${CBMDATA_DIR}/mvd
-  ${CBMDATA_DIR}/global
-  ${CBMBASE_DIR}
-
-  ${CBMROOT_SOURCE_DIR}/sim/transport/base
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_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(SRCS
   plugins/tasks/CbmMvdSensorTask.cxx
   plugins/tasks/CbmMvdSensorDigitizerTask.cxx
   plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
-
   plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
-
-#OLD
+  #OLD
   plugins/tasks/CbmMvdSensorHitfinderTask.cxx
   plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
-####
+  ####
   plugins/tasks/CbmMvdSensorReadoutTask.cxx
-
   plugins/CbmMvdSensorPlugin.cxx
-
+  
   SensorDataSheets/CbmMvdMimosa26AHR.cxx
   SensorDataSheets/CbmMvdMimosa34.cxx
   SensorDataSheets/CbmMvdMimosis.cxx
   SensorDataSheets/CbmMvdSensorDataSheet.cxx
-
+  
   tools/CbmMvdGeoHandler.cxx
   tools/CbmMvdHelper.h
   tools/readout/CbmMvdReadoutSimple.cxx
   tools/readout/CbmMvdReadoutCluster.cxx
-
+  
   qa/CbmMvdQa.cxx
-
+  
   CbmMvd.cxx
-
+  
   CbmMvdDigitizer.cxx
   CbmMvdPileupManager.cxx
   CbmMvdPixelCharge.cxx
@@ -73,43 +46,64 @@ set(SRCS
   CbmMvdDigiToHit.cxx
   CbmMvdDigiToHitTB.cxx
   CbmMvdTrackingInterface.cxx
-
-#OLD
+  
+  #OLD
   CbmMvdClusterfinder.cxx
   CbmMvdClusterfinderTB.cxx
-####
+  ####
   CbmMvdReadout.cxx
-)
-
+  )
 
 
-set(LINKDEF CbmMvdLinkDef.h)
 set(LIBRARY_NAME CbmMvd)
-set(DEPENDENCIES
-    CbmSimBase CbmBase CbmData Base
-)
-
-GENERATE_LIBRARY()
-
-Install(FILES tools/CbmMvdHelper.h
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  FairLogger::FairLogger
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Graf
+  ROOT::Matrix
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_library()
+
+
+# Install file 
+install(FILES tools/CbmMvdHelper.h
               tools/CbmMvdGeoHandler.h
         DESTINATION include/mvd/tools
        )
-Install(FILES plugins/CbmMvdSensorPlugin.h
+install(FILES plugins/CbmMvdSensorPlugin.h
         DESTINATION include/mvd/plugins
        )
-Install(FILES SensorDataSheets/CbmMvdMimosa26AHR.h
+install(FILES SensorDataSheets/CbmMvdMimosa26AHR.h
               SensorDataSheets/CbmMvdSensorDataSheet.h
               SensorDataSheets/CbmMvdMimosa34.h
               SensorDataSheets/CbmMvdMimosis.h
         DESTINATION include/mvd/SensorDataSheets
        )
-Install(FILES plugins/buffers/CbmMvdSensorBuffer.h
+install(FILES plugins/buffers/CbmMvdSensorBuffer.h
               plugins/buffers/CbmMvdSensorFrameBuffer.h
               plugins/buffers/CbmMvdSensorTrackingBuffer.h
         DESTINATION include/mvd/plugins/buffers
        )
-Install(FILES plugins/tasks/CbmMvdSensorClusterfinderTask.h
+install(FILES plugins/tasks/CbmMvdSensorClusterfinderTask.h
               plugins/tasks/CbmMvdSensorDigitizerTask.h
               plugins/tasks/CbmMvdSensorDigitizerTBTask.h
               plugins/tasks/CbmMvdSensorDigiToHitTask.h
@@ -119,3 +113,4 @@ Install(FILES plugins/tasks/CbmMvdSensorClusterfinderTask.h
         DESTINATION include/mvd/plugins/tasks
        )
 
+      
diff --git a/sim/detectors/much/CMakeLists.txt b/sim/detectors/much/CMakeLists.txt
index 26e3aef59e78f54c599cb6089282c2e4f26b2003..b8acb1eb2b3e8e628e7ba43bf4a9aa8a75ec2fe7 100644
--- a/sim/detectors/much/CMakeLists.txt
+++ b/sim/detectors/much/CMakeLists.txt
@@ -1,53 +1,46 @@
-
-Set(INCLUDE_DIRECTORIES
-${CMAKE_CURRENT_SOURCE_DIR}
-${CMAKE_CURRENT_SOURCE_DIR}/qa
-
-${CBMDETECTORBASE_DIR}/much
-
-${CBMBASE_DIR} 
-${CBMBASE_DIR}/utils
-
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-${CBMROOT_SOURCE_DIR}/core/data/base
-${CBMROOT_SOURCE_DIR}/core/qa
-
-${CBMDATA_DIR} 
-${CBMDATA_DIR}/much 
-)
-
-Include_Directories( ${INCLUDE_DIRECTORIES})
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_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(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/qa
+  )
 
 set(SRCS
-CbmGeoMuch.cxx  
-CbmMuch.cxx
-
-CbmMuchDigitizeGem.cxx
-CbmMuchReadoutBuffer.cxx
-CbmMuchSignal.cxx
-
-qa/CbmMuchTransportQa.cxx
-qa/CbmMuchDigitizerQa.cxx
-)
-
-set(LINKDEF CbmMuchSimLinkDef.h)
-Set(LIBRARY_NAME CbmMuchSim)
-Set(DEPENDENCIES
-    CbmMuchBase CbmSimBase CbmQaBase CbmBase CbmData Base
-)
-
-GENERATE_LIBRARY()
+  CbmGeoMuch.cxx  
+  CbmMuch.cxx
+  
+  CbmMuchDigitizeGem.cxx
+  CbmMuchReadoutBuffer.cxx
+  CbmMuchSignal.cxx
+  
+  qa/CbmMuchTransportQa.cxx
+  qa/CbmMuchDigitizerQa.cxx
+  )
+
+set(LIBRARY_NAME CbmMuchSim)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  CbmMuchBase
+  FairRoot::Base
+  FairRoot::GeoBase
+  ROOT::Core
+  ROOT::Graf
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmQaBase
+  CbmSimBase
+  FairRoot::ParBase
+  VMCLibrary
+  ROOT::EG
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+
+generate_cbm_library()
diff --git a/sim/detectors/psd/CMakeLists.txt b/sim/detectors/psd/CMakeLists.txt
index bd1f96661d1f131ba465bdd462728097e5b9d74c..387f1aed8e3be56b08b540845df806b72ab01700 100644
--- a/sim/detectors/psd/CMakeLists.txt
+++ b/sim/detectors/psd/CMakeLists.txt
@@ -1,40 +1,32 @@
 set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
-  ${CBMDATA_DIR}
-  ${CBMDATA_DIR}/psd
-  ${CBMBASE_DIR}
-  ${CBMBASE_DIR}/utils
-  ${CBMROOT_SOURCE_DIR}/sim/transport/base
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_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(SRCS
   CbmPsdMC.cxx  
   CbmPsdIdealDigitizer.cxx
   CbmPsdSimpleDigitizer.cxx
-)
+  )
 
-set(LINKDEF CbmPsdSimLinkDef.h)
 set(LIBRARY_NAME CbmPsdSim)
-set(DEPENDENCIES
-    CbmSimBase CbmData CbmBase Base
-)
-
-GENERATE_LIBRARY()
-
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::MathCore
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  ROOT::Geom
+  ROOT::RIO
+  )
+
+set(INTERFACE_DEPENDENCIES
+  ROOT::Physics
+  )
+
+
+generate_cbm_library()
diff --git a/sim/detectors/rich/CMakeLists.txt b/sim/detectors/rich/CMakeLists.txt
index 9b758fa7bc7b45df4fdf1a3fe910d203d003f437..4f767f72e13fd4634bbaa59f86b6076a85e2d214 100644
--- a/sim/detectors/rich/CMakeLists.txt
+++ b/sim/detectors/rich/CMakeLists.txt
@@ -1,41 +1,13 @@
 set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
-
   ${CMAKE_CURRENT_SOURCE_DIR}/geo
-
-  ${CBMDETECTORBASE_DIR}/rich
-
-  ${CBMROOT_SOURCE_DIR}/sim/transport/base
-
-  ${CBMBASE_DIR}
-  ${CBMBASE_DIR}/utils
-
-  ${CBMDATA_DIR}
-  ${CBMDATA_DIR}/rich
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES}
-  ${Boost_INCLUDE_DIR}
-)
-
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-  ${ROOT_LIBRARY_DIR}
-  ${FAIRROOT_LIBRARY_DIR}
-  ${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+  )
 
 set(SRCS
   CbmRich.cxx
   CbmRichDigitizer.cxx
   geo/RichGeoCreator.cxx
-)
+  )
 
 IF (SSE_FOUND)
   ADD_DEFINITIONS(-DHAVE_SSE)
@@ -46,9 +18,28 @@ ELSE (SSE_FOUND)
   SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-O3")
 ENDIF (SSE_FOUND)
 
-set(LINKDEF  CbmRichSimLinkDef.h)
-
-Set(LIBRARY_NAME CbmRichSim)
-Set(DEPENDENCIES Base CbmData CbmSimBase CbmRichBase Gdml)
 
-GENERATE_LIBRARY()
+set(LIBRARY_NAME CbmRichSim)
+set(LINKDEF  ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  CbmRichBase
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Gdml
+  ROOT::MathCore
+  ROOT::RIO
+  VMCLibrary
+  )
+
+generate_cbm_library()
diff --git a/sim/detectors/sts/CMakeLists.txt b/sim/detectors/sts/CMakeLists.txt
index 656935a95a69371900fe2821a2d116617540308e..726f63ecd48118319dc30bd176078a5d7749231d 100644
--- a/sim/detectors/sts/CMakeLists.txt
+++ b/sim/detectors/sts/CMakeLists.txt
@@ -1,112 +1,55 @@
-# CMakeList file for library libStsSim
-# Last update: V. Friese, 13.03.2020
-
-
-# -----   Specify library name   --------------------------
-Set(LIBRARY_NAME CbmStsSim)
-# ---------------------------------------------------------
-
-
-# -----  Specify sources for compilation   ----------------
-set(SRCS
-CbmStsDigitize.cxx
-CbmStsMC.cxx
-CbmStsSensorPoint.cxx
-CbmStsSignal.cxx
-CbmStsSimModule.cxx
-CbmStsSimSensor.cxx
-CbmStsSimSensorDssd.cxx
-CbmStsSimSensorDssdOrtho.cxx
-CbmStsSimSensorDssdStereo.cxx
-CbmStsSimSensorFactory.cxx
-
-CbmStsDigitizePixel.cxx
-
-qa/CbmStsDigitizeQa.cxx
-qa/CbmStsDigitizeQaReport.cxx
-)
-# -----  End of sources   ---------------------------------
-
-
-
-# ----  Specify include directories -----------------------
 set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/qa
+  )
 
-# --- this directory
-${CBMROOT_SOURCE_DIR}/sim/detectors/sts
-${CBMROOT_SOURCE_DIR}/sim/detectors/sts/qa
-
-# --- sts base
-${CBMDETECTORBASE_DIR}/sts
-
-# --- core/base
-${CBMBASE_DIR}
-${CBMBASE_DIR}/draw
-${CBMBASE_DIR}/report
-${CBMBASE_DIR}/utils
-
-# --- core/data
-${CBMDATA_DIR}
-${CBMDATA_DIR}/base
-${CBMDATA_DIR}/sts
-${CBMDATA_DIR}/global
 
-# --- sim
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-)
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-)
-# ----  End of include directories ------------------------
-
-
-# ----  Specify link directories --------------------------
-set(LINK_DIRECTORIES
-${ROOT_LIBRARY_DIR}
-${FAIRROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-)
-# -----  End of link directories   ------------------------
-
-
-# -----   Specify library dependences   -------------------
-Set(DEPENDENCIES
-    CbmStsBase CbmSimBase CbmBase CbmData
-)
-# ---------------------------------------------------------
-
-
-# -----  Specify LinkDef file   ---------------------------
+set(SRCS
+  CbmStsDigitize.cxx
+  CbmStsMC.cxx
+  CbmStsSensorPoint.cxx
+  CbmStsSignal.cxx
+  CbmStsSimModule.cxx
+  CbmStsSimSensor.cxx
+  CbmStsSimSensorDssd.cxx
+  CbmStsSimSensorDssdOrtho.cxx
+  CbmStsSimSensorDssdStereo.cxx
+  CbmStsSimSensorFactory.cxx
+  
+  CbmStsDigitizePixel.cxx
+  
+  qa/CbmStsDigitizeQa.cxx
+  qa/CbmStsDigitizeQaReport.cxx
+  )
+
+
+set(LIBRARY_NAME CbmStsSim)
 set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
-# ---------------------------------------------------------
-
-
-# -----  Create the library  ------------------------------
-include_directories( ${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-link_directories( ${LINK_DIRECTORIES})
-GENERATE_LIBRARY()
-# ---------------------------------------------------------
-
-
-# -----   Install headers   -------------------------------
-Install(
-FILES CbmStsDigitize.h
-	  qa/CbmStsDigitizeQa.h
-	  qa/CbmStsDigitizeQaReport.h
-	  CbmStsMC.h
-	  CbmStsSensorPoint.h
-	  CbmStsSignal.h
-	  CbmStsSimModule.h
-	  CbmStsSimSensor.h
-	  CbmStsSimSensorDssd.h
-	  CbmStsSimSensorDssdStereo.h
-	  CbmStsSimSensorDssdOrtho.h
-	  CbmStsSimSensorFactory.h
-	  CbmStsTrackStatus.h
-	  CbmStsDigitizePixel.h
-DESTINATION include
-)
-# ---------------------------------------------------------
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  CbmStsBase
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Hist
+  ROOT::MathCore
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Physics
+  ROOT::RIO
+  )
+
+generate_cbm_library()
+
+
+# Install file which has no corresponding source file
+install(FILES CbmStsTrackStatus.h
+        DESTINATION include
+        )
 
diff --git a/sim/detectors/tof/CMakeLists.txt b/sim/detectors/tof/CMakeLists.txt
index 2d8c0ca19cfe38941a059d60f72bc42b3e2595bb..bf63882303b87ac468bdb5014e554ea6f3c92b95 100644
--- a/sim/detectors/tof/CMakeLists.txt
+++ b/sim/detectors/tof/CMakeLists.txt
@@ -1,43 +1,35 @@
 set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
-
-  ${CBMDETECTORBASE_DIR}/tof
-
-  ${CBMDATA_DIR}
-  ${CBMDATA_DIR}/tof
-
-  ${CBMBASE_DIR} 
-  ${CBMBASE_DIR}/utils
-
-  ${CBMROOT_SOURCE_DIR}/sim/transport/base
-)
-
-include_directories(${INCLUDE_DIRECTORIES})
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_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(SRCS
   CbmTof.cxx 
   CbmTofMergeMcPoints.cxx 
   CbmTofDigitize.cxx
-)
+  )
 
-set(LINKDEF CbmTofSimLinkDef.h)
-set(LIBRARY_NAME CbmTofSim)
-set(DEPENDENCIES
-    CbmBase CbmData CbmSimBase CbmTofBase
-)
 
-GENERATE_LIBRARY()
+set(LIBRARY_NAME CbmTofSim)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Hist
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  CbmTofBase
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Geom
+  ROOT::Graf
+  ROOT::MathCore
+  ROOT::RIO
+  )
+
+generate_cbm_library()
diff --git a/sim/detectors/trd/CMakeLists.txt b/sim/detectors/trd/CMakeLists.txt
index 129e5255bb4df70553bb892df6cbbdba2f3e0f8c..7ca11bac5032221a23e791989a7cbf9965304231 100644
--- a/sim/detectors/trd/CMakeLists.txt
+++ b/sim/detectors/trd/CMakeLists.txt
@@ -1,74 +1,58 @@
-# Create a library called "libTrdSim" which includes the source files given in
-# the array .
-# The extension is already found.  Any number of sources could be listed here.
-
-Set(INCLUDE_DIRECTORIES
-${CMAKE_CURRENT_SOURCE_DIR}
-${CMAKE_CURRENT_SOURCE_DIR}/qa
-
-${CBMDETECTORBASE_DIR}/trd
-
-${CBMBASE_DIR}
-${CBMBASE_DIR}/utils
-${CBMBASE_DIR}/report
-${CBMBASE_DIR}/draw
-
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-
-${CBMDATA_DIR}
-${CBMDATA_DIR}/base
-${CBMDATA_DIR}/trd 
-)
-
-Include_Directories( ${INCLUDE_DIRECTORIES})
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES} 
-)
-
-Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-${FAIRROOT_LIBRARY_DIR}
-${ROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-) 
-
-link_directories( ${LINK_DIRECTORIES})
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/qa
+  )
 
 set(SRCS
-CbmTrd.cxx
-CbmTrdDigitizer.cxx 
-CbmTrdModuleSim.cxx 
-CbmTrdModuleSimR.cxx 
-CbmTrdModuleSim2D.cxx 
-CbmTrdTrianglePRF.cxx
-CbmTrdRawToDigiR.cxx
-CbmTrdCheckUtil.cxx
-
-qa/CbmTrdDigitizerPRFQa.cxx
-qa/CbmTrdMCQa.cxx
-qa/CbmTrdHitRateFastQa.cxx
-qa/CbmTrdHitRateQa.cxx
-)
+  CbmTrd.cxx
+  CbmTrdDigitizer.cxx 
+  CbmTrdModuleSim.cxx 
+  CbmTrdModuleSimR.cxx 
+  CbmTrdModuleSim2D.cxx 
+  CbmTrdTrianglePRF.cxx
+  CbmTrdRawToDigiR.cxx
+  CbmTrdCheckUtil.cxx
+  
+  qa/CbmTrdDigitizerPRFQa.cxx
+  qa/CbmTrdMCQa.cxx
+  qa/CbmTrdHitRateFastQa.cxx
+  qa/CbmTrdHitRateQa.cxx
+  )
 
 IF (SSE_FOUND)
   ADD_DEFINITIONS(-DHAVE_SSE)
   SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS 
-  "-msse -O3")
+    "-msse -O3")
   Message(STATUS "TRD SIM will be compiled with SSE support")
 ELSE (SSE_FOUND)
   Message(STATUS "TRD SIM will be compiled without SSE support")
   SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS 
-  "-O3")
+    "-O3")
 ENDIF (SSE_FOUND)
 
 
-
-set(LINKDEF CbmTrdSimLinkDef.h)
-Set(LIBRARY_NAME CbmTrdSim)
-Set(DEPENDENCIES
-    CbmBase CbmData Base CbmSimBase CbmTrdBase
-)
-
-GENERATE_LIBRARY()
+set(LIBRARY_NAME CbmTrdSim)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  CbmTrdBase
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Hist
+  ROOT::Physics
+  ROOT::RIO
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Graf
+  ROOT::MathCore
+  )
+
+
+generate_cbm_library()
diff --git a/sim/passive/CMakeLists.txt b/sim/passive/CMakeLists.txt
index c921a33915aa204db9c92139b94c059292477642..81b980f32831ece547d7035076dcf22bf0bfb1c2 100644
--- a/sim/passive/CMakeLists.txt
+++ b/sim/passive/CMakeLists.txt
@@ -1,48 +1,36 @@
-# Create a library called "libBase" which includes the source files given in
-# the array .
-# The extension is already found.  Any number of sources could be listed here.
-
-Set(INCLUDE_DIRECTORIES
+set(INCLUDE_DIRECTORIES
   ${CMAKE_CURRENT_SOURCE_DIR}
-
-  ${CBMBASE_DIR}/utils
-)
-
-Include_Directories( ${INCLUDE_DIRECTORIES})
-
-Set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_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(SRCS
-CbmCave.cxx            
-CbmGeoCave.cxx         
-#CbmGeoMagnet.cxx       
-CbmGeoPassivePar.cxx   
-#CbmGeoPipe.cxx         
-CbmGeoPlatform.cxx
-CbmMagnet.cxx          
-CbmPassiveContFact.cxx 
-CbmPipe.cxx
-CbmPlatform.cxx
-#CbmShield.cxx
-#CbmShieldGeo.cxx         
-)
-
-set(LINKDEF CbmPassiveLinkDef.h)
-Set(LIBRARY_NAME CbmPassive)
-Set(DEPENDENCIES
-    CbmBase Base 
-)
-
-GENERATE_LIBRARY()
+  CbmCave.cxx            
+  CbmGeoCave.cxx         
+  #CbmGeoMagnet.cxx       
+  CbmGeoPassivePar.cxx   
+  #CbmGeoPipe.cxx         
+  CbmGeoPlatform.cxx
+  CbmMagnet.cxx          
+  CbmPassiveContFact.cxx 
+  CbmPipe.cxx
+  CbmPlatform.cxx
+  #CbmShield.cxx
+  #CbmShieldGeo.cxx         
+  )
+
+set(LIBRARY_NAME CbmPassive)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  FairRoot::Base
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::Core
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmBase
+  ROOT::Geom
+  ROOT::RIO
+  )
+
+
+generate_cbm_library()
diff --git a/sim/response/CMakeLists.txt b/sim/response/CMakeLists.txt
index 7c9e4ec40e83bd0151d9aef9d3ae7a5f9e41b8de..dc7028155ed3db5c898241d3d06c3ea84aab3b5c 100644
--- a/sim/response/CMakeLists.txt
+++ b/sim/response/CMakeLists.txt
@@ -1,116 +1,41 @@
-# CMakeList file for library CbmSimResponse
-
-
-# -----   Library name   ----------------------------------
-Set(LIBRARY_NAME CbmSimResponse)
-# ---------------------------------------------------------
-
-
-# -----  Compilation sources   ----------------------------
-set(SRCS
-base/CbmDigitization.cxx
-base/CbmDigitizationSource.cxx
-base/CbmDigitizeInfo.cxx
-base/CbmMCInput.cxx
-base/CbmMCInputSet.cxx
-base/CbmRunAna.cxx
-base/CbmDigitizationConfig.cxx
-)
-# ---------------------------------------------------------
-
-
-# ----  Include directories -------------------------------
 set(INCLUDE_DIRECTORIES
-${CBMROOT_SOURCE_DIR}/core/config
-
-${CBMROOT_SOURCE_DIR}/sim/response
-${CBMROOT_SOURCE_DIR}/sim/response/base
-
-${CBMROOT_SOURCE_DIR}/sim/transport/steer
-${CBMROOT_SOURCE_DIR}/sim/transport/geosetup
-${CBMROOT_SOURCE_DIR}/sim/transport
-
-${CBMROOT_SOURCE_DIR}/sim/detectors/much
-${CBMROOT_SOURCE_DIR}/sim/detectors/psd
-${CBMROOT_SOURCE_DIR}/sim/detectors/rich
-${CBMROOT_SOURCE_DIR}/sim/detectors/sts
-${CBMROOT_SOURCE_DIR}/sim/detectors/tof
-${CBMROOT_SOURCE_DIR}/sim/detectors/trd
-
-
-${CBMBASE_DIR}
-
-${CBMDATA_DIR}
-${CBMDATA_DIR}/much
-${CBMDATA_DIR}/sts
-${CBMDATA_DIR}/rich
-${CBMDATA_DIR}/trd
-${CBMDATA_DIR}/tof
-${CBMDATA_DIR}/psd
-
-${CBMROOT_SOURCE_DIR}/mvd
-
-  ${CBMDETECTORBASE_DIR}/sts
-
-${CBMROOT_SOURCE_DIR}/sts/sim
-
-${CBMROOT_SOURCE_DIR}/rich/sim
-
-${CBMDETECTORBASE_DIR}/rich
+  ${CMAKE_CURRENT_SOURCE_DIR}/base
+  )
 
-${CBMROOT_SOURCE_DIR}/much/sim
-
-  ${CBMDETECTORBASE_DIR}/much
-
-${CBMROOT_SOURCE_DIR}/trd/sim
-
-${CBMROOT_SOURCE_DIR}/tof/sim
-
-${CBMROOT_SOURCE_DIR}/psd/sim
-)
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-)
-# ---------------------------------------------------------
-
-
-
-# ----  Link directories ----------------------------------
-set(LINK_DIRECTORIES
-${ROOT_LIBRARY_DIR}
-${FAIRROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-${KFParticle_LIB_DIR}
-)
-# ---------------------------------------------------------
-
-
-
-# -----   Library dependences   ---------------------------
-Set(DEPENDENCIES
-CbmBase
-CbmData
-CbmMvd
-CbmStsSim
-CbmRichSim
-CbmMuchSim
-CbmTrdSim
-CbmTofSim
-CbmPsdSim
-)
-# ---------------------------------------------------------
-
-
-# -----  LinkDef file   -----------------------------------
+set(SRCS
+  base/CbmDigitization.cxx
+  base/CbmDigitizationSource.cxx
+  base/CbmDigitizeInfo.cxx
+  base/CbmMCInput.cxx
+  base/CbmMCInputSet.cxx
+  base/CbmRunAna.cxx
+  base/CbmDigitizationConfig.cxx
+  )
+
+set(LIBRARY_NAME CbmSimResponse)
 set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
-# ---------------------------------------------------------
-
-
-# -----  Let cmake do the job   ---------------------------
-include_directories( ${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-link_directories( ${LINK_DIRECTORIES})
-GENERATE_LIBRARY()
-# ---------------------------------------------------------
-
+set(PUBLIC_DEPENDENCIES
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Tree
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmMuchSim
+  CbmMvd
+  CbmPsdSim
+  CbmRichSim
+  CbmSimSteer
+  CbmStsSim
+  CbmTofSim
+  CbmTrdSim
+  FairRoot::FairTools
+  FairRoot::ParBase
+  )
+
+set(INTERFACE_DEPENDENCIES
+  CbmBase
+  CbmData
+  )
+
+generate_cbm_library()
diff --git a/sim/transport/base/CMakeLists.txt b/sim/transport/base/CMakeLists.txt
index 7daa99ac44e903f50c747044c57cb07d74b88195..ce0dac366e3cb2a26ddbc69f4d36c8de801e759e 100644
--- a/sim/transport/base/CMakeLists.txt
+++ b/sim/transport/base/CMakeLists.txt
@@ -1,66 +1,30 @@
-# CMakeList file for library CbmSim
-# V. Friese, 1 August 2019
-
-
-# -----   Library name   ----------------------------------
-Set(LIBRARY_NAME CbmSimBase)
-# ---------------------------------------------------------
-
-# -----  Compilation sources   ----------------------------
-set(SRCS
-CbmBeam.cxx
-CbmBeamProfile.cxx
-CbmEventGenerator.cxx
-CbmMCEventFilter.cxx
-CbmStack.cxx
-CbmStackFilter.cxx
-CbmTarget.cxx
-)
-# ---------------------------------------------------------
-
-
-
-# ----  Include directories -------------------------------
 set(INCLUDE_DIRECTORIES
-${CBMDATA_DIR}
-${CBMROOT_SOURCE_DIR}/sim
-${CBMROOT_SOURCE_DIR}/sim/transport
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-)
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-)
-# ---------------------------------------------------------
-
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
-
-# ----  Link directories ----------------------------------
-set(LINK_DIRECTORIES
-${ROOT_LIBRARY_DIR}
-${FAIRROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-)
-# ---------------------------------------------------------
-
-
-
-# -----   Library dependences   ---------------------------
-Set(DEPENDENCIES
-CbmBase
-CbmData
-)
-# ---------------------------------------------------------
-
-
-# -----  LinkDef file   -----------------------------------
+set(SRCS
+  CbmBeam.cxx
+  CbmBeamProfile.cxx
+  CbmEventGenerator.cxx
+  CbmMCEventFilter.cxx
+  CbmStack.cxx
+  CbmStackFilter.cxx
+  CbmTarget.cxx
+  )
+
+set(LIBRARY_NAME CbmSimBase)
 set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
-# ---------------------------------------------------------
-
-
-# -----  Let cmake do the job   ---------------------------
-include_directories( ${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-link_directories( ${LINK_DIRECTORIES})
-GENERATE_LIBRARY()
-# ---------------------------------------------------------
+set(PUBLIC_DEPENDENCIES
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  ROOT::EG
+  ROOT::Geom
+  ROOT::MathCore
+  )
+
+generate_cbm_library()
diff --git a/sim/transport/generators/CMakeLists.txt b/sim/transport/generators/CMakeLists.txt
index 14b472370000e9e45757d8da8eaa64e94a3b5f00..47db9f321679c52186148b57e89e32ffcc373b3c 100644
--- a/sim/transport/generators/CMakeLists.txt
+++ b/sim/transport/generators/CMakeLists.txt
@@ -1,83 +1,52 @@
-# CMakeList file for library CbmSim
-# V. Friese, 1 August 2019
-
-
-# -----   Library name   ----------------------------------
-Set(LIBRARY_NAME CbmSimGenerators)
-# ---------------------------------------------------------
-
-# -----  Compilation sources   ----------------------------
-set(SRCS
-CbmBeamGenerator.cxx
-CbmPhsdGenerator.cxx
-CbmPlutoGenerator.cxx
-CbmShieldGenerator.cxx
-CbmUnigenGenerator.cxx
-unigen/URun.cxx
-unigen/UEvent.cxx
-unigen/UParticle.cxx
-pluto/PDataBase.cxx
-pluto/PMesh.cxx
-pluto/PParticle.cxx
-pluto/PStaticData.cxx
-pluto/PStdData.cxx
-pluto/PValues.cxx
-)
-# ---------------------------------------------------------
-
-
-
-# ----  Include directories -------------------------------
 set(INCLUDE_DIRECTORIES
-${CBMDATA_DIR}
-${CBMBASE_DIR}/utils
-${CBMROOT_SOURCE_DIR}/sim
-${CBMROOT_SOURCE_DIR}/sim/transport
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-${CBMROOT_SOURCE_DIR}/sim/transport/generators
-${CBMROOT_SOURCE_DIR}/sim/transport/generators/pluto
-${CBMROOT_SOURCE_DIR}/sim/transport/generators/unigen
-)
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-)
-# ---------------------------------------------------------
-
-
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/unigen
+  ${CMAKE_CURRENT_SOURCE_DIR}/pluto
+  )
 
-# ----  Link directories ----------------------------------
-set(LINK_DIRECTORIES
-${ROOT_LIBRARY_DIR}
-${FAIRROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-)
-# ---------------------------------------------------------
-
-
-
-# -----   Library dependences   ---------------------------
-Set(DEPENDENCIES
-CbmBase
-CbmData
-CbmSimBase
-)
-# ---------------------------------------------------------
-
-
-# -----  LinkDef file   -----------------------------------
+set(SRCS
+  CbmBeamGenerator.cxx
+  CbmPhsdGenerator.cxx
+  CbmPlutoGenerator.cxx
+  CbmShieldGenerator.cxx
+  CbmUnigenGenerator.cxx
+  unigen/URun.cxx
+  unigen/UEvent.cxx
+  unigen/UParticle.cxx
+  pluto/PDataBase.cxx
+  pluto/PMesh.cxx
+  pluto/PParticle.cxx
+  pluto/PStaticData.cxx
+  pluto/PStdData.cxx
+  pluto/PValues.cxx
+  )
+
+
+set(LIBRARY_NAME CbmSimGenerators)
 set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
-# ---------------------------------------------------------
-
-
-# -----  Let cmake do the job   ---------------------------
-include_directories( ${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-link_directories( ${LINK_DIRECTORIES})
-GENERATE_LIBRARY()
-# ---------------------------------------------------------
-
-
-Install(FILES  ${CMAKE_CURRENT_SOURCE_DIR}/pluto/Pdefines.h
+set(PUBLIC_DEPENDENCIES
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmBase
+  CbmSimBase
+  FairLogger::FairLogger
+  ROOT::EG
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+
+
+generate_cbm_library()
+
+# Install file which has no corresponding source file
+install(FILES
+        pluto/Pdefines.h
         DESTINATION include
        )
diff --git a/sim/transport/geosetup/CMakeLists.txt b/sim/transport/geosetup/CMakeLists.txt
index aecb5f991a0ca60f75728ea0b78b485870553d98..ff9e26a359dd23224e77991370c8a71be83d4cbf 100644
--- a/sim/transport/geosetup/CMakeLists.txt
+++ b/sim/transport/geosetup/CMakeLists.txt
@@ -1,120 +1,60 @@
-## Create a library called "libCbmGeoSetup" which includes the source files given in
-# the array .
-# The extension is already found.  Any number of sources could be listed here.
-
-# Don't download the geometry database any longer. The server isn't
-# available in the moment
-
-#If(NOT EXISTS geodb.tar.gz AND DOWNLOAD_EXTERNALS)
-#  Message(STATUS "Download geometry database")
-#  FILE(DOWNLOAD http://cbmdb.jinr.ru/geometry/download_file.php?type=all&tag=all ${CMAKE_BINARY_DIR}/geodb.tar.gz SHOW_PROGRESS)
-
-#  File(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/geodb)
-#  File(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/geometry/db)
-
-#  execute_process(
-#    COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CMAKE_BINARY_DIR}/geodb.tar.gz
-#    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/geodb
-#    OUTPUT_VARIABLE TAR_OUTPUT
-#    ERROR_VARIABLE TAR_OUTPUT
-#    RESULT_VARIABLE TAR_RETURN_VALUE
-#  )
-
-#  if (NOT TAR_RETURN_VALUE EQUAL 0)
-#    message(FATAL_ERROR "Error: ${TAR_OUTPUT}")
-#  endif()
-
-#  execute_process(
-#    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/geodb/storage ${CMAKE_SOURCE_DIR}/geometry/db
-#    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/geodb/local.db ${CMAKE_SOURCE_DIR}/geometry/db/
-#    OUTPUT_VARIABLE COPY_OUTPUT
-#    ERROR_VARIABLE COPY_OUTPUT
-#    RESULT_VARIABLE COPY_RETURN_VALUE
-#  )
-
-#  if (NOT COPY_RETURN_VALUE EQUAL 0)
-#    message("Error: ${COPY_OUTPUT}")
-#  endif()
-
-#  execute_process(
-#    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/geodb/storage 
-#  )
-
-#  Message(STATUS "Download and unpacking done")
-#EndIf()
-
-
-Set(INCLUDE_DIRECTORIES
-${CBMROOT_SOURCE_DIR}/sim/transport
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-${CBMROOT_SOURCE_DIR}/sim/transport/geosetup
-${CBMROOT_SOURCE_DIR}/sim/detectors/much
-${CBMROOT_SOURCE_DIR}/sim/detectors/psd
-${CBMROOT_SOURCE_DIR}/sim/detectors/rich
-${CBMROOT_SOURCE_DIR}/sim/detectors/sts
-${CBMROOT_SOURCE_DIR}/sim/detectors/tof
-${CBMROOT_SOURCE_DIR}/sim/detectors/trd
-
-${CBMBASE_DIR}
-${CBMDATA_DIR}
-${CBMROOT_SOURCE_DIR}/run
-${CBMROOT_SOURCE_DIR}/mvd
-#${CBMROOT_SOURCE_DIR}/sts
-#${CBMROOT_SOURCE_DIR}/sts/mc
-${CBMROOT_SOURCE_DIR}/rich/sim
-${CBMROOT_SOURCE_DIR}/much/sim
-${CBMROOT_SOURCE_DIR}/trd/sim
-${CBMROOT_SOURCE_DIR}/tof/sim
-${CBMROOT_SOURCE_DIR}/psd/sim
-${CBMROOT_SOURCE_DIR}/sim/passive
-${CBMROOT_SOURCE_DIR}/field
-)
-
-Include_Directories(${INCLUDE_DIRECTORIES})
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES}
-)
-
-Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-
-set(LINK_DIRECTORIES
-${FAIRROOT_LIBRARY_DIR}
-${ROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-)
-
-link_directories(${LINK_DIRECTORIES})
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  )
 
 set(SRCS
-CbmGeoSetup.cxx
-CbmGeoSetupField.cxx
-CbmGeoSetupModule.cxx
-CbmGeoSetupMedia.cxx
-CbmGeoSetupProvider.cxx
-CbmGeoSetupRepoProvider.cxx
-CbmGeoSetupDbProvider.cxx
-)
-
-set(HEADERS
-
-CbmGeoSetup.h
-CbmGeoSetupField.h
-CbmGeoSetupModule.h
-CbmGeoSetupMedia.h
-CbmGeoSetupProvider.h
-CbmGeoSetupRepoProvider.h
-CbmGeoSetupDbProvider.h
-
-)
-
-set(LINKDEF CbmGeoSetupLinkDef.h)
-Set(LIBRARY_NAME CbmGeoSetup)
-Set(DEPENDENCIES CbmData CbmBase CbmSimBase
-CbmField CbmMvd CbmStsSim CbmRichSim CbmMuchSim CbmMuchBase CbmTrdBase
-CbmTrdSim CbmTofSim CbmPsdSim CbmPassive
-Net RSQLite)
-
-GENERATE_LIBRARY()
-
-install(FILES ${HEADERS} DESTINATION include/geosetup)
+  CbmGeoSetup.cxx
+  CbmGeoSetupField.cxx
+  CbmGeoSetupModule.cxx
+  CbmGeoSetupMedia.cxx
+  CbmGeoSetupProvider.cxx
+  CbmGeoSetupRepoProvider.cxx
+  CbmGeoSetupDbProvider.cxx
+  )
+
+set(INSTALL_HEADERS
+  CbmGeoSetup.h
+  CbmGeoSetupField.h
+  CbmGeoSetupModule.h
+  CbmGeoSetupMedia.h
+  CbmGeoSetupProvider.h
+  CbmGeoSetupRepoProvider.h
+  CbmGeoSetupDbProvider.h
+  )
+
+set(LIBRARY_NAME CbmGeoSetup)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmData
+  ROOT::Core
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmMuchSim
+  CbmMvd
+  CbmPassive
+  CbmPsdSim
+  CbmRichSim
+  CbmSimBase
+  CbmStsSim
+  CbmTofSim
+  CbmTrdSim
+  FairRoot::Base
+  ROOT::Net
+  ROOT::RSQLite
+  
+  )
+
+set(INTERFACE_DEPENDENCIES
+  ROOT::Geom
+  )
+
+
+
+generate_cbm_library()
+
+
+install(FILES 
+       ${INSTALL_HEADERS} 
+       DESTINATION include/geosetup
+       )
diff --git a/sim/transport/steer/CMakeLists.txt b/sim/transport/steer/CMakeLists.txt
index 2b4e797c652827ad2743baf8ded0f34cd48e8a7e..cf6c9e6d54aec308e675dd117f6c6c459d70ceaa 100644
--- a/sim/transport/steer/CMakeLists.txt
+++ b/sim/transport/steer/CMakeLists.txt
@@ -1,59 +1,17 @@
-# CMakeList file for library CbmSim
-# V. Friese, 1 August 2019
-
-
-# -----   Library name   ----------------------------------
-Set(LIBRARY_NAME CbmSimSteer)
-# ---------------------------------------------------------
-
-# -----  Compilation sources   ----------------------------
-set(SRCS
-CbmSetup.cxx
-CbmTransport.cxx
-CbmVMCSettings.cxx
-CbmGeant3Settings.cxx
-CbmGeant4Settings.cxx
-CbmTransportConfig.cxx
-)
-# ---------------------------------------------------------
-
-
-
-# ----  Include directories -------------------------------
 set(INCLUDE_DIRECTORIES
-${SIMPATH}/include/Geant4
-${SIMPATH}/include/geant4vmc
-${SIMPATH}/include/TGeant3
-
-${CBMROOT_SOURCE_DIR}/generators
-${CBMFIELD_DIR}
-${CBMROOT_SOURCE_DIR}/sim
-${CBMROOT_SOURCE_DIR}/sim/transport
-${CBMROOT_SOURCE_DIR}/sim/transport/base
-${CBMROOT_SOURCE_DIR}/sim/transport/generators
-${CBMROOT_SOURCE_DIR}/sim/transport/generators/unigen
-${CBMROOT_SOURCE_DIR}/sim/transport/generators/pluto
-${CBMROOT_SOURCE_DIR}/sim/transport/steer
-${CBMROOT_SOURCE_DIR}/sim/transport/geosetup
-${CBMDATA_DIR}
-${CBMBASE_DIR}/utils
-${CBMROOT_SOURCE_DIR}/core/config
-)
-
-set(SYSTEM_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-)
-# ---------------------------------------------------------
-
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CBMROOT_SOURCE_DIR}/core/config
+  )
 
+set(SRCS
+  CbmSetup.cxx
+  CbmTransport.cxx
+  CbmVMCSettings.cxx
+  CbmGeant3Settings.cxx
+  CbmGeant4Settings.cxx
+  CbmTransportConfig.cxx
+  )
 
-# ----  Link directories ----------------------------------
-set(LINK_DIRECTORIES
-${FAIRROOT_LIBRARY_DIR}
-${ROOT_LIBRARY_DIR}
-${Boost_LIBRARY_DIRS}
-${SIMPATH}/lib
-)
 
 # Work around linker problems on macosx 11 (Big Sur)
 # Somehow libfreetype isn't properly found in /usr/local/lib
@@ -62,37 +20,33 @@ if(APPLE AND ${_OS_RELEASE} VERSION_GREATER 11)
   Message(STATUS "Fixing linker issue on macosx ${_OS_RELEASE}")
   list(APPEND LINK_DIRECTORIES /usr/local/lib)
 endif()
-# ---------------------------------------------------------
-
-
 
-# -----   Library dependences   ---------------------------
-Set(DEPENDENCIES
-CbmBase
-CbmData
-CbmSimBase
-CbmSimGenerators
-CbmField
-CbmSimGenerators
-Gen
-geant321
-geant4vmc
-EGPythia6
-boost_filesystem
-CbmGeoSetup
-CbmStsSim
-)
-# ---------------------------------------------------------
 
-
-# -----  LinkDef file   -----------------------------------
+Set(LIBRARY_NAME CbmSimSteer)
 set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
-# ---------------------------------------------------------
-
-
-# -----  Let cmake do the job   ---------------------------
-include_directories( ${INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
-link_directories( ${LINK_DIRECTORIES})
-GENERATE_LIBRARY()
-# ---------------------------------------------------------
+set(PUBLIC_DEPENDENCIES
+  CbmData
+  CbmSimBase
+  ROOT::Core
+  ROOT::Physics
+  CbmGeoSetup
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmBase
+  CbmField
+  CbmSimGenerators
+  FairRoot::Base
+  FairRoot::FairTools
+  FairRoot::Gen
+  FairRoot::ParBase
+  geant321
+  geant4vmc
+  ROOT::EG
+  ROOT::EGPythia6
+  ROOT::Geom
+  ROOT::MathCore
+  ROOT::RIO
+  )
+
+generate_cbm_library()