From bb8d373240a2abe4815ff9892ba8bd72caf1f7d7 Mon Sep 17 00:00:00 2001
From: lintao <lintao51@gmail.com>
Date: Wed, 23 Dec 2020 17:00:41 +0800
Subject: [PATCH] WIP: migrate Tracking.

---
 Reconstruction/CMakeLists.txt                 |  2 +-
 Reconstruction/SiliconTracking/CMakeLists.txt |  5 ++
 Reconstruction/Tracking/CMakeLists.txt        | 46 ++++++++++---------
 .../{ => include}/Tracking/TrackingHelper.h   |  0
 4 files changed, 31 insertions(+), 22 deletions(-)
 rename Reconstruction/Tracking/{ => include}/Tracking/TrackingHelper.h (100%)

diff --git a/Reconstruction/CMakeLists.txt b/Reconstruction/CMakeLists.txt
index 99fdf3f7..293eaa30 100644
--- a/Reconstruction/CMakeLists.txt
+++ b/Reconstruction/CMakeLists.txt
@@ -2,4 +2,4 @@ add_subdirectory(DCHDedx)
 add_subdirectory(Digi_Calo)
 # add_subdirectory(PFA)
 add_subdirectory(SiliconTracking)
-# add_subdirectory(Tracking)
+add_subdirectory(Tracking)
diff --git a/Reconstruction/SiliconTracking/CMakeLists.txt b/Reconstruction/SiliconTracking/CMakeLists.txt
index 1f35407b..7dd05180 100644
--- a/Reconstruction/SiliconTracking/CMakeLists.txt
+++ b/Reconstruction/SiliconTracking/CMakeLists.txt
@@ -23,3 +23,8 @@ gaudi_add_module(SiliconTracking
                       ${GSL_LIBRARIES} 
                       ${LCIO_LIBRARIES} 
 )
+install(TARGETS SiliconTracking
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
diff --git a/Reconstruction/Tracking/CMakeLists.txt b/Reconstruction/Tracking/CMakeLists.txt
index 166add75..b60bca6a 100644
--- a/Reconstruction/Tracking/CMakeLists.txt
+++ b/Reconstruction/Tracking/CMakeLists.txt
@@ -1,4 +1,3 @@
-gaudi_subdir(Tracking v0r0)
 
 find_package(GEAR REQUIRED)
 find_package(GSL REQUIRED ) 
@@ -6,26 +5,31 @@ find_package(LCIO REQUIRED )
 find_package(EDM4HEP REQUIRED ) 
 find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED)
 
-
-gaudi_depends_on_subdirs(
-    Service/GearSvc
-    Service/EventSeeder
-    Service/TrackSystemSvc
-    Detector/DetSegmentation
+# Modules
+gaudi_add_module(Tracking
+                 SOURCES src/Clupatra/ClupatraAlg.cpp
+                         src/Clupatra/clupatra_new.cpp
+                         src/FullLDCTracking/FullLDCTrackingAlg.cpp
+                         src/TruthTracker/TruthTrackerAlg.cpp
+                 LINK GearSvc
+                      EventSeeder
+                      TrackSystemSvcLib
+                      DetSegmentation
+                      Gaudi::GaudiAlgLib
+                      Gaudi::GaudiKernel
+                      ${GEAR_LIBRARIES}
+                      ${GSL_LIBRARIES}
+                      ${LCIO_LIBRARIES}
+                      DetSegmentation
+                      EDM4HEP::edm4hep EDM4HEP::edm4hepDict
 )
 
-set(Tracking_srcs
-    src/Clupatra/*.cpp
-    src/FullLDCTracking/*.cpp
-    src/TruthTracker/*.cpp
-)
+target_include_directories(Tracking PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>/include
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
-# Modules
-gaudi_add_module(Tracking ${Tracking_srcs}
-    INCLUDE_DIRS GaudiKernel gear ${GSL_INCLUDE_DIRS} ${LCIO_INCLUDE_DIRS}
-    LINK_LIBRARIES GaudiAlgLib GaudiKernel ${GEAR_LIBRARIES} ${GSL_LIBRARIES} ${LCIO_LIBRARIES} TrackSystemSvcLib
-    DetSegmentation
-      -Wl,--no-as-needed
-     EDM4HEP::edm4hep EDM4HEP::edm4hepDict
-     -Wl,--as-needed
-)
+install(TARGETS Tracking
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
diff --git a/Reconstruction/Tracking/Tracking/TrackingHelper.h b/Reconstruction/Tracking/include/Tracking/TrackingHelper.h
similarity index 100%
rename from Reconstruction/Tracking/Tracking/TrackingHelper.h
rename to Reconstruction/Tracking/include/Tracking/TrackingHelper.h
-- 
GitLab