From 5f35c45a069b733fe6c64b67cbc331cbb2e025a5 Mon Sep 17 00:00:00 2001
From: Moritz Kiehn <msmk@cern.ch>
Date: Fri, 25 Oct 2019 14:19:24 +0200
Subject: [PATCH] cmake: use explicit sources in plugins

---
 Plugins/DD4hep/CMakeLists.txt         | 17 +++++++++++------
 Plugins/Digitization/CMakeLists.txt   | 17 +++++++++++------
 Plugins/Identification/CMakeLists.txt |  8 +++++---
 Plugins/Json/CMakeLists.txt           |  8 +++++---
 Plugins/TGeo/CMakeLists.txt           | 15 +++++++++------
 5 files changed, 41 insertions(+), 24 deletions(-)

diff --git a/Plugins/DD4hep/CMakeLists.txt b/Plugins/DD4hep/CMakeLists.txt
index 435e4fd54..6069faab1 100644
--- a/Plugins/DD4hep/CMakeLists.txt
+++ b/Plugins/DD4hep/CMakeLists.txt
@@ -1,11 +1,16 @@
-file(GLOB_RECURSE src_files "src/*.cpp" "include/*.hpp")
-
-add_library(ActsDD4hepPlugin SHARED ${src_files})
+add_library(
+  ActsDD4hepPlugin SHARED
+  src/ActsExtension.cpp
+  src/ConvertDD4hepDetector.cpp
+  src/ConvertDD4hepMaterial.cpp
+  src/DD4hepDetectorElement.cpp
+  src/DD4hepLayerBuilder.cpp)
 target_include_directories(
   ActsDD4hepPlugin
-  PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-         ${DD4hep_INCLUDE_DIRS})
+  PUBLIC
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+    ${DD4hep_INCLUDE_DIRS})
 target_link_libraries(
   ActsDD4hepPlugin
   PUBLIC ActsCore ActsTGeoPlugin ${DD4hep_DDCORE_LIBRARY})
diff --git a/Plugins/Digitization/CMakeLists.txt b/Plugins/Digitization/CMakeLists.txt
index c7572d9ab..cb8256018 100644
--- a/Plugins/Digitization/CMakeLists.txt
+++ b/Plugins/Digitization/CMakeLists.txt
@@ -1,11 +1,16 @@
-file(GLOB_RECURSE src_files "src/*.cpp" "include/*.hpp")
-
-add_library(ActsDigitizationPlugin SHARED ${src_files})
+add_library(
+  ActsDigitizationPlugin SHARED
+  src/CartesianSegmentation.cpp
+  src/DigitizationModule.cpp
+  src/PlanarModuleStepper.cpp)
 target_include_directories(
   ActsDigitizationPlugin
-  PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
-target_link_libraries(ActsDigitizationPlugin PUBLIC ActsCore)
+  PUBLIC
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+target_link_libraries(
+  ActsDigitizationPlugin
+  PUBLIC ActsCore)
 
 install(
   TARGETS ActsDigitizationPlugin
diff --git a/Plugins/Identification/CMakeLists.txt b/Plugins/Identification/CMakeLists.txt
index 46cff4c3d..f1429ead9 100644
--- a/Plugins/Identification/CMakeLists.txt
+++ b/Plugins/Identification/CMakeLists.txt
@@ -1,8 +1,10 @@
-add_library(ActsIdentificationPlugin INTERFACE)
+add_library(
+  ActsIdentificationPlugin INTERFACE)
 target_include_directories(
   ActsIdentificationPlugin
-  INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 target_link_libraries(ActsIdentificationPlugin INTERFACE ActsCore)
 
 install(
diff --git a/Plugins/Json/CMakeLists.txt b/Plugins/Json/CMakeLists.txt
index c2494e9d6..e1fdf1b79 100644
--- a/Plugins/Json/CMakeLists.txt
+++ b/Plugins/Json/CMakeLists.txt
@@ -9,11 +9,13 @@ if(NOT ${_json_dep_header_sha256} STREQUAL ${_json_dep_header_sha256_ref})
   message(FATAL_ERROR "json.hpp hash does not match reference!")
 endif()
 
-add_library(ActsJsonPlugin INTERFACE)
+add_library(
+  ActsJsonPlugin INTERFACE)
 target_include_directories(
   ActsJsonPlugin
-  INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
 install(
   TARGETS ActsJsonPlugin
diff --git a/Plugins/TGeo/CMakeLists.txt b/Plugins/TGeo/CMakeLists.txt
index 8bc50fede..2504ac079 100644
--- a/Plugins/TGeo/CMakeLists.txt
+++ b/Plugins/TGeo/CMakeLists.txt
@@ -1,12 +1,15 @@
-file(GLOB_RECURSE src_files "src/*.cpp" "include/*.hpp")
-
-add_library(ActsTGeoPlugin SHARED ${src_files})
+add_library(
+  ActsTGeoPlugin SHARED
+  src/TGeoDetectorElement.cpp
+  src/TGeoLayerBuilder.cpp)
 target_include_directories(
   ActsTGeoPlugin
-  PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  PUBLIC
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 target_link_libraries(
-  ActsTGeoPlugin PUBLIC ActsCore ActsIdentificationPlugin ROOT::Geom)
+  ActsTGeoPlugin
+  PUBLIC ActsCore ActsIdentificationPlugin ROOT::Geom)
 
 install(
   TARGETS ActsTGeoPlugin
-- 
GitLab