From 7c7e36a4f72df044bf8c487d896f78ecbe745135 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <fwinkl@cern>
Date: Tue, 10 Nov 2020 14:09:45 +0100
Subject: [PATCH] TruthParticleID: cmake cleanup

Remove `atlas_depends_on_subdirs` and tidy external and library
dependencies. Enable flake8 where relevant.
---
 .../McParticleAlgs/CMakeLists.txt             | 17 +-------
 .../McParticleEvent/CMakeLists.txt            | 30 +++-----------
 .../McParticleEventAthenaPool/CMakeLists.txt  | 17 +-------
 .../McParticleEventTPCnv/CMakeLists.txt       | 41 ++++++-------------
 .../McParticleKernel/CMakeLists.txt           |  9 +---
 .../McParticleTests/CMakeLists.txt            | 21 +---------
 .../McParticleTools/CMakeLists.txt            | 23 ++---------
 .../McParticleUtils/CMakeLists.txt            | 30 +++-----------
 8 files changed, 33 insertions(+), 155 deletions(-)

diff --git a/PhysicsAnalysis/TruthParticleID/McParticleAlgs/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleAlgs/CMakeLists.txt
index b5ee2298e2c3..c41453d7b059 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleAlgs/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleAlgs/CMakeLists.txt
@@ -1,21 +1,8 @@
-################################################################################
-# Package: McParticleAlgs
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleAlgs )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          GaudiKernel
-                          PRIVATE
-                          Control/AthenaBaseComps
-                          Control/StoreGate
-                          Event/NavFourMom
-                          PhysicsAnalysis/TruthParticleID/McParticleEvent
-                          PhysicsAnalysis/TruthParticleID/McParticleKernel
-                          PhysicsAnalysis/TruthParticleID/McParticleUtils )
-
 # External dependencies:
 find_package( CLHEP )
 
@@ -24,7 +11,7 @@ atlas_add_component( McParticleAlgs
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps StoreGateLib SGtests NavFourMom McParticleEvent McParticleKernel McParticleUtils )
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps NavFourMom McParticleEvent McParticleKernel McParticleUtils )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt
index 6eec381c1da5..2d37ad407456 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt
@@ -1,27 +1,8 @@
-################################################################################
-# Package: McParticleEvent
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleEvent )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs(
-   PUBLIC
-   Control/AthenaKernel
-   Control/AthContainers
-   Control/AthLinks
-   Control/Navigation
-   Event/EventKernel
-   Event/NavFourMom
-   Generators/GeneratorObjects
-   PhysicsAnalysis/AnalysisCommon/ParticleEvent
-   Tracking/TrkEvent/VxVertex
-   Generators/AtlasHepMC
-   PRIVATE
-   AtlasTest/TestTools
-   GaudiKernel )
-
 # External dependencies:
 find_package( Boost )
 find_package( CLHEP )
@@ -32,9 +13,8 @@ atlas_add_library( McParticleEvent
    PUBLIC_HEADERS McParticleEvent
    INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
    PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}
-   LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel AthContainers AthLinks Navigation
-   EventKernel NavFourMom GeneratorObjects ParticleEvent VxVertex
-   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} )
+   LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel AthContainers AthLinks Navigation
+   EventKernel NavFourMom GeneratorObjects ParticleEvent VxVertex )
 
 atlas_add_dictionary( McParticleEventDict
    McParticleEvent/McParticleEventDict.h McParticleEvent/selection.xml
@@ -52,8 +32,8 @@ atlas_add_test( TruthParticle_test
    SOURCES test/TruthParticle_test.cxx
    INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
    LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GeneratorObjects
-   TestTools GaudiKernel McParticleEvent
+   StoreGateLib TestTools GaudiKernel McParticleEvent
    ENVIRONMENT "JOBOPTSEARCHPATH=${_jobOPath}" )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventAthenaPool/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEventAthenaPool/CMakeLists.txt
index d0a710d1f3ed..5ab4db3f3adf 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventAthenaPool/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventAthenaPool/CMakeLists.txt
@@ -1,23 +1,10 @@
-################################################################################
-# Package: McParticleEventAthenaPool
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleEventAthenaPool )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Database/AthenaPOOL/AthenaPoolUtilities
-                          GaudiKernel
-                          PRIVATE
-                          Control/StoreGate
-                          Database/AthenaPOOL/AthenaPoolCnvSvc
-                          PhysicsAnalysis/TruthParticleID/McParticleEvent
-                          PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv
-                          PhysicsAnalysis/TruthParticleID/McParticleKernel )
-
 # Component(s) in the package:
 atlas_add_poolcnv_library( McParticleEventAthenaPoolPoolCnv
                            src/*.cxx
                            FILES McParticleEvent/TruthParticleContainer.h McParticleEvent/TruthEtIsolationsContainer.h
-                           LINK_LIBRARIES AthenaPoolUtilities GaudiKernel StoreGateLib SGtests AthenaPoolCnvSvcLib McParticleEvent McParticleEventTPCnv McParticleKernel )
+                           LINK_LIBRARIES GaudiKernel StoreGateLib AthenaPoolCnvSvcLib McParticleEvent McParticleEventTPCnv McParticleKernel )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
index bd3a2df0c858..d4639ee91589 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
@@ -1,56 +1,39 @@
-################################################################################
-# Package: McParticleEventTPCnv
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleEventTPCnv )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Control/DataModelAthenaPool
-                          Database/AthenaPOOL/AthenaPoolCnvSvc
-                          GaudiKernel
-                          PhysicsAnalysis/TruthParticleID/McParticleEvent
-                          PRIVATE
-                          AtlasTest/TestTools
-                          Control/AthenaKernel
-                          Control/SGTools
-                          Control/StoreGate
-                          Generators/GeneratorObjects
-                          Generators/AtlasHepMC
-                          PhysicsAnalysis/TruthParticleID/McParticleKernel )
-
 # External dependencies:
-find_package( Boost COMPONENTS filesystem thread system )
-find_package( CLHEP )
+find_package( Boost )
 find_package( ROOT COMPONENTS EG Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_tpcnv_library( McParticleEventTPCnv
                          src/*.cxx
                          PUBLIC_HEADERS McParticleEventTPCnv
-                         INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                         PRIVATE_INCLUDE_DIRS 
-                         DEFINITIONS ${CLHEP_DEFINITIONS}
-                         LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel )
+                         INCLUDE_DIRS ${Boost_INCLUDE_DIRS}
+                         PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                         LINK_LIBRARIES LINK_LIBRARIES ${Boost_LIBRARIES} AthenaPoolCnvSvcLib DataModelAthenaPoolLib GeneratorObjects McParticleEvent McParticleKernel
+                         PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel AtlasHepMCLib GaudiKernel )
 
 atlas_add_dictionary( McParticleEventTPCnvDict
                       McParticleEventTPCnv/McParticleEventTPCnvDict.h
                       McParticleEventTPCnv/selection.xml
-                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
-                      LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel McParticleEventTPCnv )
+                      LINK_LIBRARIES McParticleEventTPCnv )
 
+# Tests in the package:
 atlas_add_test( TruthParticleContainerCnv_p5_test
                 SOURCES
                 test/TruthParticleContainerCnv_p5_test.cxx
-                LINK_LIBRARIES McParticleEventTPCnv SGTools TestTools )
+                LINK_LIBRARIES AthenaKernel AthenaPoolCnvSvcLib DataModelAthenaPoolLib GaudiKernel GeneratorObjects McParticleEvent McParticleEventTPCnv SGTools TestTools )
 
 atlas_add_test( TruthParticleContainerCnv_p6_test
                 SOURCES
                 test/TruthParticleContainerCnv_p6_test.cxx
-                LINK_LIBRARIES McParticleEventTPCnv SGTools TestTools )
+                LINK_LIBRARIES AthenaKernel AthenaPoolCnvSvcLib DataModelAthenaPoolLib GaudiKernel GeneratorObjects McParticleEvent McParticleEventTPCnv SGTools TestTools )
 
 atlas_add_test( TruthEtIsolationsCnv_p1_test
                 SOURCES
                 test/TruthEtIsolationsCnv_p1_test.cxx
-                LINK_LIBRARIES McParticleEventTPCnv SGTools TestTools )
+                INCLUDE_DIRS ${Boost_INCLUDE_DIRS}
+                LINK_LIBRARIES ${Boost_LIBRARIES} AthenaPoolCnvSvcLib DataModelAthenaPoolLib GaudiKernel GeneratorObjects McParticleEvent McParticleEventTPCnv SGTools TestTools )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
index 9ef64aa501d5..42ae20c63b68 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
@@ -1,15 +1,8 @@
-################################################################################
-# Package: McParticleKernel
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleKernel )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Generators/AtlasHepMC
-                          GaudiKernel )
-
 # Component(s) in the package:
 atlas_add_library( McParticleKernel
                    src/*.cxx
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
index fa7a6f28a6bd..c11772664efb 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
@@ -1,25 +1,8 @@
-################################################################################
-# Package: McParticleTests
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleTests )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          Control/AthenaBaseComps
-                          Control/AthenaPython
-                          Control/StoreGate
-                          Event/EventKernel
-                          Event/NavFourMom
-                          GaudiKernel
-                          Generators/GeneratorObjects
-                          Generators/AtlasHepMC
-                          PhysicsAnalysis/TruthParticleID/McParticleAlgs
-                          PhysicsAnalysis/TruthParticleID/McParticleEvent
-                          PhysicsAnalysis/TruthParticleID/McParticleKernel
-                          PhysicsAnalysis/TruthParticleID/McParticleUtils )
-
 # External dependencies:
 find_package( CLHEP )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
@@ -29,7 +12,7 @@ atlas_add_component( McParticleTests
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps StoreGateLib SGtests EventKernel NavFourMom GaudiKernel GeneratorObjects McParticleEvent McParticleKernel McParticleUtils )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps EventKernel NavFourMom GaudiKernel GeneratorObjects McParticleEvent McParticleKernel McParticleUtils )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
index fd5438edf5fa..ccbcda38ecc2 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
@@ -1,27 +1,10 @@
-################################################################################
-# Package: McParticleTools
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleTools )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          Control/AthenaBaseComps
-                          Control/SGTools
-                          Control/AthContainers
-                          Control/StoreGate
-                          Event/EventKernel
-                          GaudiKernel
-                          Generators/GenAnalysisTools/TruthHelper
-                          Generators/GeneratorObjects
-                          Generators/AtlasHepMC
-                          PhysicsAnalysis/TruthParticleID/McParticleEvent
-                          PhysicsAnalysis/TruthParticleID/McParticleKernel
-                          PhysicsAnalysis/TruthParticleID/McParticleUtils )
-
 # External dependencies:
-find_package( Boost COMPONENTS filesystem thread system )
+find_package( Boost )
 find_package( CLHEP )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
@@ -31,4 +14,4 @@ atlas_add_component( McParticleTools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthContainers StoreGateLib SGtests EventKernel GaudiKernel TruthHelper GeneratorObjects McParticleEvent McParticleKernel McParticleUtils SGTools )
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthContainers StoreGateLib EventKernel GaudiKernel TruthHelper GeneratorObjects McParticleEvent McParticleKernel McParticleUtils SGTools )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
index fce02c971f6f..5457f0d1c86b 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
@@ -1,27 +1,10 @@
-################################################################################
-# Package: McParticleUtils
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( McParticleUtils )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Control/AthenaKernel
-                          Control/AthContainers
-                          Event/EventKernel
-                          GaudiKernel
-                          PhysicsAnalysis/AnalysisCommon/AnalysisUtils
-                          PRIVATE
-                          AtlasTest/TestTools
-                          Control/StoreGate
-                          Control/RootUtils 
-                          Generators/AtlasHepMC )
-
 # External dependencies:
-find_package( Boost COMPONENTS filesystem thread system )
-find_package( CLHEP )
-find_package( CppUnit )
+find_package( Boost )
 find_package( HepPDT )
 find_package( Python COMPONENTS Development )
 
@@ -29,12 +12,11 @@ find_package( Python COMPONENTS Development )
 atlas_add_library( McParticleUtils
                    src/*.cxx
                    PUBLIC_HEADERS McParticleUtils
-                   INCLUDE_DIRS 
-                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${Python_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES AtlasHepMCLib AthenaKernel AthContainers EventKernel GaudiKernel AnalysisUtilsLib StoreGateLib SGtests RootUtils
-                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${Python_LIBRARIES} ${CLHEP_LIBRARIES} ${CPPUNIT_LIBRARIES} )
+                   LINK_LIBRARIES AtlasHepMCLib AthenaKernel AthContainers EventKernel GaudiKernel AnalysisUtilsLib
+                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${Python_LIBRARIES} RootUtils )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 
-- 
GitLab