diff --git a/Calorimeter/CaloG4/EcalG4_SD/CMakeLists.txt b/Calorimeter/CaloG4/EcalG4_SD/CMakeLists.txt
index b6c99f3e14ce3a4e826eb9e8e96168bacd427ff4..767a0499c17cb75d490a6cab9632aa92f0e679ab 100644
--- a/Calorimeter/CaloG4/EcalG4_SD/CMakeLists.txt
+++ b/Calorimeter/CaloG4/EcalG4_SD/CMakeLists.txt
@@ -9,13 +9,31 @@ atlas_subdir( EcalG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( EcalG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel FaserCaloSimEvent G4AtlasToolsLib FaserMCTruth )
+
+atlas_add_library( EcalG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib FaserCaloSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( EcalG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES EcalG4_SDLib )
+
+
+
+
+# atlas_add_component( EcalG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel FaserCaloSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Neutrino/NeutrinoG4/EmulsionG4_SD/CMakeLists.txt b/Neutrino/NeutrinoG4/EmulsionG4_SD/CMakeLists.txt
index 5ce584bd562a18d4f61f970fdcabb498245e6145..1cc40843641f038e27809d788eb8fecd88f26ba1 100644
--- a/Neutrino/NeutrinoG4/EmulsionG4_SD/CMakeLists.txt
+++ b/Neutrino/NeutrinoG4/EmulsionG4_SD/CMakeLists.txt
@@ -9,13 +9,27 @@ atlas_subdir( EmulsionG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( EmulsionG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel NeutrinoSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( EmulsionG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib NeutrinoSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( EmulsionG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES EmulsionG4_SDLib )
+
+# atlas_add_component( EmulsionG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel NeutrinoSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Scintillator/ScintG4/PreshowerG4_SD/CMakeLists.txt b/Scintillator/ScintG4/PreshowerG4_SD/CMakeLists.txt
index 8c7e901a4d11028174851861f7c1cd49e0865f16..5ca81ac7aa7b4d7fdb5bab2482215571f6cee268 100644
--- a/Scintillator/ScintG4/PreshowerG4_SD/CMakeLists.txt
+++ b/Scintillator/ScintG4/PreshowerG4_SD/CMakeLists.txt
@@ -9,13 +9,28 @@ atlas_subdir( PreshowerG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( PreshowerG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( PreshowerG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib ScintSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( PreshowerG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES PreshowerG4_SDLib )
+
+# Component(s) in the package:
+# atlas_add_component( PreshowerG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Scintillator/ScintG4/TriggerG4_SD/CMakeLists.txt b/Scintillator/ScintG4/TriggerG4_SD/CMakeLists.txt
index fc5dfec8f4b072e3773f44616f18176bf7b4ff9c..5240d69cd73e913f97393c799457b3e53d4fa6d7 100644
--- a/Scintillator/ScintG4/TriggerG4_SD/CMakeLists.txt
+++ b/Scintillator/ScintG4/TriggerG4_SD/CMakeLists.txt
@@ -9,13 +9,28 @@ atlas_subdir( TriggerG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( TriggerG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( TriggerG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib ScintSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( TriggerG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES TriggerG4_SDLib )
+
+# Component(s) in the package:
+# atlas_add_component( TriggerG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Scintillator/ScintG4/VetoG4_SD/CMakeLists.txt b/Scintillator/ScintG4/VetoG4_SD/CMakeLists.txt
index 1e2e9d73deffe11bd38d35bc1f4b29bfc5667065..3ae0f067286355f33378971bca08b0d561127f04 100644
--- a/Scintillator/ScintG4/VetoG4_SD/CMakeLists.txt
+++ b/Scintillator/ScintG4/VetoG4_SD/CMakeLists.txt
@@ -9,13 +9,28 @@ atlas_subdir( VetoG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( VetoG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( VetoG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib ScintSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( VetoG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES VetoG4_SDLib )
+
+# Component(s) in the package:
+# atlas_add_component( VetoG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Scintillator/ScintG4/VetoNuG4_SD/CMakeLists.txt b/Scintillator/ScintG4/VetoNuG4_SD/CMakeLists.txt
index eb9aab190b1ea05e06536d8f0477d6909a0f8499..26205e10523e3098e59439ff051f7950716bb02d 100644
--- a/Scintillator/ScintG4/VetoNuG4_SD/CMakeLists.txt
+++ b/Scintillator/ScintG4/VetoNuG4_SD/CMakeLists.txt
@@ -9,13 +9,28 @@ atlas_subdir( VetoNuG4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( VetoNuG4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( VetoNuG4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib ScintSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( VetoNuG4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES VetoNuG4_SDLib )
+
+# Component(s) in the package:
+# atlas_add_component( VetoNuG4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel ScintSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/FaserGeant4/CMakeLists.txt b/Simulation/FaserGeant4/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7af9b9a4300f15a841b0c00b6c3ac34b4ada61bb
--- /dev/null
+++ b/Simulation/FaserGeant4/CMakeLists.txt
@@ -0,0 +1,191 @@
+# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+
+# Declare the package name:
+atlas_subdir( FaserGeant4 )
+
+# Generations correspond to topologically sorted list:
+# - https://its.cern.ch/jira/secure/attachment/282935/topologically_sorted_package_generations.txt
+set( FaserGeant4_TARGET_OBJECTS
+    # Generation 0
+    # G4AtlasInterfaces
+    # SimHelpers
+    G4FaserInterfaces
+    # Generation 1
+    G4AtlasToolsLib
+    # MCTruth
+    FaserMCTruth
+    # Generation 2
+    # CaloG4SimLib
+    # ISF_Geant4Event
+    FaserISF_Geant4Event
+    # Generation 3
+    # LArG4Code
+    # MCTruthBaseLib
+    FaserMCTruthBaseLib
+    # Generation 4
+    # LArG4ShowerLib
+    # G4AtlasAlgLib
+    # TileG4InterfacesLib
+    G4FaserAlgLib
+    # Generation 5
+    # TRT_G4Utilities
+    # LArG4ShowerLibSvcLib
+    # G4PhysicsLists
+    # GeoMaterial2G4
+    # TrackWriteFastSimLib
+    # ISF_Geant4ToolsLib
+    # TileGeoG4SDLib
+    FaserGeoMaterial2G4
+    # Generation 6
+    # BCM_G4_SDLib
+    # BLM_G4_SDLib
+    # PixelG4_SDLib
+    # SCT_G4_SDLib
+    # TRT_G4_SDLib
+    # MuonG4SDLib
+    # G4DebuggingHelperLib
+    # G4ProfilingToolsLib
+    # Geo2G4Lib 
+    EcalG4_SDLib
+    EmulsionG4_SDLib
+    FaserSCT_G4_SDLib
+    PreshowerG4_SDLib
+    TriggerG4_SDLib
+    VetoG4_SDLib
+    VetoNuG4_SDLib
+    FaserGeo2G4Lib
+    )
+
+# Components
+# Generations correspond to topologically sorted list:
+# - https://its.cern.ch/jira/secure/attachment/282935/topologically_sorted_package_generations.txt
+set( FaserGeant4Component_TARGET_OBJECTS
+    # Generation 1
+    #G4AtlasTools
+    # Generation 2
+    #CaloG4Sim
+    #ISF_Geant4CommonTools
+    # Generation 3
+    #MCTruthBase
+    # FaserMCTruthBaseLib
+    # Generation 4
+    #G4AtlasAlg
+    G4FaserAlg
+    # Generation 5
+    # LArG4ShowerLibSvc
+    # TrackWriteFastSim
+    # ISF_Geant4Tools
+    # TileGeoG4SD
+    # Generation 6
+    # HGTD_G4_SD
+    # BCM_G4_SD
+    # BLM_G4_SD
+    # PixelG4_SD
+    # SCT_G4_SD
+    # TRT_G4_SD
+    EcalG4_SD
+    EmulsionG4_SD
+    FaserSCT_G4_SD
+    PreshowerG4_SD
+    TriggerG4_SD
+    VetoG4_SD
+    VetoNuG4_SD
+    # TRT_TR_Process
+    # LArG4Barrel
+    # LArG4EC
+    # LArG4FCAL
+    # LArG4FastSimulation
+    # LArG4HEC
+    # LArG4SD
+    # MagFieldUtils
+    # MuonG4SD
+    # G4AtlasServices
+    # Charginos
+    # ExtraParticles
+    # G4CosmicFilter
+    # G4ExtraProcesses
+    # G4ScoringProcess
+    # Gauginos
+    # Monopole
+    # Quirks
+    # Sleptons
+    # G4HiveEx
+    # G4DebuggingTools
+    # G4FastSimulation
+    # G4ProfilingTools
+    # G4StepLimitation
+    # G4UserActions
+    G4FaserUserActions
+    # Geo2G4
+    FaserGeo2G4
+    # ISF_Services
+    FaserISF_Services
+    # ISF_Geant4CommonServices
+    # ISF_Geant4Services
+    # DeadMaterial
+    # MinBiasScintillator
+    # TileGeoG4Calib 
+    )
+
+
+# Add additional libs and components used only in Athena
+# if( NOT SIMULATIONBASE )
+#     list( APPEND AtlasGeant4_TARGET_OBJECTS
+#         # Generation 5
+#         ForwardTransportSvcLib
+#         G4ExternalDecay
+#         # Generation 6
+#         AFP_G4_SDLib
+#         ALFA_G4_SDLib
+#         LUCID_G4_SDLib
+#         ZDC_SDLib
+#         LArG4GenShowerLibLib
+#         ISF_FastCaloSimParametrizationLib )
+
+#     list( APPEND AtlasGeant4Component_TARGET_OBJECTS
+#         # Generation 2
+#         ActsGeantFollowing
+# 	# Generation 5
+# 	ForwardTransportSvc
+# 	# Generation 6
+#         AFP_G4_SD
+# 	ALFA_G4_SD
+# 	ForwardRegionMgField
+# 	ForwardTransport
+# 	LUCID_G4_SD
+# 	LUCID_OpProcess
+# 	ZDC_SD
+# 	LArG4FastSimSvc
+# 	LArG4GenShowerLib
+# 	LArG4H6SD
+# 	G4AtlasTests
+# 	G4HitFilter
+# 	RHadrons
+# 	ISF_FastCaloSimParametrization
+# 	ISF_FastCaloSimSD
+# 	ISF_FastCaloSimServices
+# 	ISF_FatrasToolsG4
+# 	TBDetDescrCnv
+# 	CombinedScintillator
+# 	LarCrate
+# 	MuonWall
+# 	PhantomCalorimeter
+# 	TrkG4UserActions )
+# endif()
+
+# Need to disable as-needed, as libraries are not necessarily
+# ordered correctly with respect to objects.
+atlas_disable_as_needed()
+
+# Shared library that only tests should link to, composed of library OBJECTs
+atlas_add_library( FaserGeant4Lib
+                   dummy.cc
+                   SHARED
+                   NO_PUBLIC_HEADERS
+                   LINK_LIBRARIES ${FaserGeant4_TARGET_OBJECTS} )
+
+
+# Primary "big" component composed of all library/component OBJECT libs
+atlas_add_component( FaserGeant4
+                     dummy.cc
+                     LINK_LIBRARIES "-Wl,--exclude-libs,ALL" ${FaserGeant4Component_TARGET_OBJECTS} ${FaserGeant4_TARGET_OBJECTS} )
diff --git a/Simulation/FaserGeant4/src/dummy.cc b/Simulation/FaserGeant4/src/dummy.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6756e4f0756fa1c9b4e60ecf7e98b5f6968945db
--- /dev/null
+++ b/Simulation/FaserGeant4/src/dummy.cc
@@ -0,0 +1 @@
+// dummy file
\ No newline at end of file
diff --git a/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt b/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
index 55ea6395f4869b3c180b18b25765cea1adf9e9ed..ac34b78886438644a0790846e064e0ba77f49a37 100644
--- a/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
+++ b/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
@@ -27,8 +27,6 @@ find_package( Eigen )
 #                      LINK_LIBRARIES "-Wl,--exclude-libs,ALL" ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces G4FaserAlgLib SGTools StoreGateLib EventInfo GeneratorObjects FaserMCTruthBaseLib )
 
 
-
-
 atlas_add_library( G4FaserAlgLib
                      src/*.cxx
                      OBJECT
@@ -43,7 +41,7 @@ atlas_add_library(   G4FaserAlg
                      OBJECT
                      NO_PUBLIC_HEADERS
                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
-                     PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel CXXUtils GaudiKernel G4AtlasInterfaces G4FaserAlgLib SGTools StoreGateLib EventInfo GeneratorObjects FaserMCTruthBaseLib)
+                     PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel CxxUtils GaudiKernel G4AtlasInterfaces G4FaserAlgLib SGTools StoreGateLib EventInfo GeneratorObjects FaserMCTruthBaseLib)
 
 atlas_add_test( G4FaserAlgConfig_TestFaser
                 SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASER-01'" IOVDb.GlobalTag="'OFLCOND-FASER-01'" Output.HITSFileName='faser.HITS.pool.root'
diff --git a/Simulation/G4Faser/G4FaserServices/python/G4FaserUserActionConfigNew.py b/Simulation/G4Faser/G4FaserServices/python/G4FaserUserActionConfigNew.py
index 0b6d4a1ca6e5d47197f013e82d5fcbb7e91e6b9c..4f09f21d761b03bf9b6f0bfa3f44907458390553 100644
--- a/Simulation/G4Faser/G4FaserServices/python/G4FaserUserActionConfigNew.py
+++ b/Simulation/G4Faser/G4FaserServices/python/G4FaserUserActionConfigNew.py
@@ -6,8 +6,8 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 
 G4UA__UserActionSvc=CompFactory.G4UA.UserActionSvc
 
-from G4FaserUserActions.G4FaserUserActionsConfig import CalypsoStackingActionToolCfg, CalypsoTrackingActionToolCfg #, CalypsoMaterialStepRecorderToolCfg
-from G4UserActions.G4UserActionsConfig import AthenaMaterialStepRecorderToolCfg
+from G4FaserUserActions.G4FaserUserActionsConfig import CalypsoStackingActionToolCfg, CalypsoTrackingActionToolCfg 
+from TrkG4UserActions.TrkG4UserActionsConfig import MaterialStepRecorderCfg
 
 
 # New function for all user action types
@@ -69,7 +69,7 @@ def getMaterialStepRecorderActions(ConfigFlags):
 
     actions += [result.popToolsAndMerge( CalypsoStackingActionToolCfg(ConfigFlags)  )]
 
-    actions += [result.popToolsAndMerge( AthenaMaterialStepRecorderToolCfg(ConfigFlags)  )]
+    actions += [result.popToolsAndMerge( MaterialStepRecorderCfg(ConfigFlags)  )]
     
     actions += [result.popToolsAndMerge( CalypsoTrackingActionToolCfg(ConfigFlags) )]
 
diff --git a/Simulation/G4Sim/FaserMCTruth/CMakeLists.txt b/Simulation/G4Sim/FaserMCTruth/CMakeLists.txt
index c30100a2b74cf36fa4aa66000ba18cfc906bdf3c..2dde702d98433356ba5615a46692ff0223f9761c 100644
--- a/Simulation/G4Sim/FaserMCTruth/CMakeLists.txt
+++ b/Simulation/G4Sim/FaserMCTruth/CMakeLists.txt
@@ -13,6 +13,7 @@ find_package( XercesC )
 # Component(s) in the package:
 atlas_add_library( FaserMCTruth
                    src/*.cxx
+                   OBJECT
                    PUBLIC_HEADERS FaserMCTruth
                    INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
diff --git a/Simulation/G4Sim/FaserMCTruthBase/CMakeLists.txt b/Simulation/G4Sim/FaserMCTruthBase/CMakeLists.txt
index ac2b69e08f1147e787617fcfdfab956bb231eb80..192a8ea949f1d597312396e5e03fbe464f3c4637 100644
--- a/Simulation/G4Sim/FaserMCTruthBase/CMakeLists.txt
+++ b/Simulation/G4Sim/FaserMCTruthBase/CMakeLists.txt
@@ -13,15 +13,24 @@ find_package( XercesC )
 # Component(s) in the package:
 atlas_add_library( FaserMCTruthBaseLib
                    src/*.cxx
+                   OBJECT
                    PUBLIC_HEADERS FaserMCTruthBase
                    INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GaudiKernel StoreGateLib SGtests G4AtlasToolsLib
+                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GaudiKernel StoreGateLib G4AtlasToolsLib CxxUtils
                    PRIVATE_LINK_LIBRARIES AthenaBaseComps
-                   G4AtlasInterfaces FaserMCTruth SimHelpers ISF_InterfacesLib FaserISF_InterfacesLib
+                   G4AtlasInterfaces FaserMCTruth SimHelpers FaserISF_InterfacesLib ISF_InterfacesLib 
                    FaserDetDescr FaserISF_Geant4Event
                  )
 
+
+# atlas_add_library(FaserMCTruthBase
+#                  src/components/*.cxx
+#                  OBJECT
+#                  NO_PUBLIC_HEADERS
+#                  PRIVATE_LINK_LIBRARIES FaserMCTruthBaseLib)
+
+
 #atlas_add_component( FaserMCTruthBase
 #                     src/components/*.cxx
 #                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
diff --git a/Simulation/ISF/ISF_Core/FaserISF_Services/CMakeLists.txt b/Simulation/ISF/ISF_Core/FaserISF_Services/CMakeLists.txt
index 59c2c07a8a2f82a043f14fab91a08f52e5b4f0fe..5d0f27c076f30068cafa04e6c7544c97443bfbda 100644
--- a/Simulation/ISF/ISF_Core/FaserISF_Services/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/FaserISF_Services/CMakeLists.txt
@@ -17,11 +17,13 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 #find_package( GMock )
 
 # Component(s) in the package:
-atlas_add_component( FaserISF_Services
+atlas_add_library( FaserISF_Services
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${GEANT4_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES} ${HEPPDT_LIBRARIES} GaudiKernel BarcodeInterfacesLib ScintSimEvent AthenaBaseComps StoreGateLib SGtests FaserDetDescr GeneratorObjects TrackerSimEvent G4AtlasInterfaces FaserMCTruth SimHelpers FaserISF_Event ISF_Event FaserISF_HepMC_Interfaces ISF_HepMC_Interfaces FaserISF_InterfacesLib ISF_InterfacesLib PmbCxxUtils TruthUtils )
+                     OBJECT
+                     NO_PUBLIC_HEADERS
+                     PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
+                     PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${GEANT4_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES} ${HEPPDT_LIBRARIES} GaudiKernel BarcodeInterfacesLib ScintSimEvent AthenaBaseComps StoreGateLib SGtests FaserDetDescr GeneratorObjects TrackerSimEvent G4AtlasInterfaces FaserMCTruth SimHelpers FaserISF_Event ISF_Event FaserISF_HepMC_Interfaces ISF_HepMC_Interfaces FaserISF_InterfacesLib ISF_InterfacesLib PmbCxxUtils TruthUtils )
 
 #atlas_add_test( FaserTruthSvc_test
 #                SOURCES
diff --git a/Tracker/TrackerG4/FaserSCT_G4_SD/CMakeLists.txt b/Tracker/TrackerG4/FaserSCT_G4_SD/CMakeLists.txt
index 9e106e5d11ae1dfdd28e9ee4d6f8dbbf8e59de0c..948624b64c9f8e7288697953e6c8c72d8af3eec2 100644
--- a/Tracker/TrackerG4/FaserSCT_G4_SD/CMakeLists.txt
+++ b/Tracker/TrackerG4/FaserSCT_G4_SD/CMakeLists.txt
@@ -9,13 +9,28 @@ atlas_subdir( FaserSCT_G4_SD )
 find_package( CLHEP )
 find_package( Geant4 )
 find_package( XercesC )
+find_package( GeoModel COMPONENTS GeoModelKernel GeoModelRead GeoModelDBManager )
 
 # Component(s) in the package:
-atlas_add_component( FaserSCT_G4_SD
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel TrackerSimEvent G4AtlasToolsLib FaserMCTruth )
+atlas_add_library( FaserSCT_G4_SDLib
+                   src/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GEOMODEL_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GEOMODEL_LIBRARIES} G4AtlasToolsLib TrackerSimEvent FaserMCTruth StoreGateLib GeoModelInterfaces GeoPrimitives )
+
+atlas_add_library( FaserSCT_G4_SD
+                   src/components/*.cxx
+                   OBJECT
+                   NO_PUBLIC_HEADERS
+                   PRIVATE_LINK_LIBRARIES FaserSCT_G4_SDLib )
+
+# Component(s) in the package:
+# atlas_add_component( FaserSCT_G4_SD
+#                      src/*.cxx
+#                      src/components/*.cxx
+#                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
+#                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel TrackerSimEvent G4AtlasToolsLib FaserMCTruth )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )