From 741aecdf36dcc8905490dec5554bcbb7d7e0157d Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <fwinkl@cern>
Date: Tue, 1 Sep 2020 17:45:50 +0200
Subject: [PATCH] AthenaPool*: cmake cleanup

Remove `atlas_depends_on_subdirs` and update link dependencies.
---
 .../AthenaPoolCnvSvc/CMakeLists.txt           | 55 ++++---------------
 .../AthenaPoolServices/CMakeLists.txt         | 11 +---
 .../AthenaPOOL/AthenaPoolTools/CMakeLists.txt | 18 +-----
 .../AthenaPoolUtilities/CMakeLists.txt        | 17 +-----
 4 files changed, 16 insertions(+), 85 deletions(-)

diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolCnvSvc/CMakeLists.txt
index e440c25e8197..8c29c9128235 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/CMakeLists.txt
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/CMakeLists.txt
@@ -1,34 +1,8 @@
-# $Id: CMakeLists.txt 790790 2016-12-21 22:31:42Z gemmeren $
-################################################################################
-# Package: AthenaPoolCnvSvc
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( AthenaPoolCnvSvc )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs(
-   PUBLIC
-   Control/AthContainers
-   Control/AthLinks
-   Control/AthenaBaseComps
-   Control/AthenaKernel
-   Control/CxxUtils
-   Control/DataModelRoot
-   Control/SGTools
-   Database/APR/StorageSvc
-   Database/AthenaPOOL/AthenaPoolUtilities
-   Database/AthenaPOOL/PoolSvc
-   Database/PersistentDataModel
-   Database/TPTools
-   GaudiKernel
-   PRIVATE
-   AtlasTest/TestTools
-   Control/AthContainersInterfaces
-   Control/AthContainersRoot
-   Control/RootUtils
-   Control/StoreGate )
-
 # External dependencies:
 find_package( Boost )
 find_package( ROOT COMPONENTS Core )
@@ -39,10 +13,8 @@ atlas_add_library( AthenaPoolCnvSvcLib
    PUBLIC_HEADERS AthenaPoolCnvSvc
    INCLUDE_DIRS ${Boost_INCLUDE_DIRS}
    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${Boost_LIBRARIES} AthContainers AthContainersRoot AthLinks AthenaBaseComps PoolSvcLib
-   AthenaKernel CxxUtils DataModelRoot RootUtils SGTools StorageSvc AthenaPoolUtilities
-   PersistentDataModel TPTools GaudiKernel StoreGateLib
-   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} )
+   LINK_LIBRARIES ${Boost_LIBRARIES} AthContainers AthLinks AthenaBaseComps AthenaKernel AthenaPoolUtilities CxxUtils DataModelRoot GaudiKernel PersistentDataModel PoolSvcLib StorageSvc TPTools
+   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainersInterfaces AthContainersRoot RootUtils SGTools StoreGateLib )
 
 atlas_add_component( AthenaPoolCnvSvc
    src/components/*.cxx
@@ -62,51 +34,46 @@ atlas_add_test( exceptions_test
 atlas_add_test( TPCnvElt_test
    SOURCES test/TPCnvElt_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthenaPoolCnvSvcLib )
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib )
 
 atlas_add_test( TPCnvList_test
    SOURCES test/TPCnvList_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthenaPoolCnvSvcLib )
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib )
 
 atlas_add_test( T_AthenaPoolCreateFuncs_test
    SOURCES test/T_AthenaPoolCreateFuncs_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthenaPoolCnvSvcLib )
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib )
 
 atlas_add_test( T_AthenaPoolViewVectorCnv_test
    SOURCES test/T_AthenaPoolViewVectorCnv_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks SGTools GaudiKernel
-   TestTools AthenaPoolCnvSvcLib
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib TestTools
    ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
 
 atlas_add_test( T_AthenaPoolxAODCnv_test
    SOURCES test/T_AthenaPoolxAODCnv_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} PersistentDataModel SGTools TestTools
-   CxxUtils AthenaPoolCnvSvcLib
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib TestTools
    ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
 
 atlas_add_test( T_AthenaPoolAuxContainerCnv_test
    SOURCES test/T_AthenaPoolAuxContainerCnv_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} PersistentDataModel AthContainers SGTools
-   TestTools CxxUtils AthenaPoolCnvSvcLib
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib TestTools
    ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
 
 atlas_add_test( T_AthenaPoolTPCnvCnv_test
    SOURCES test/T_AthenaPoolTPCnvCnv_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} PersistentDataModel SGTools TestTools
-   CxxUtils AthenaPoolCnvSvcLib
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib TestTools
    ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" )
 
 atlas_add_test( T_AuxContainerCopyTPCnv_test
    SOURCES test/T_AuxContainerCopyTPCnv_test.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} PersistentDataModel SGTools TestTools
-   CxxUtils AthenaPoolCnvSvcLib )
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolCnvSvcLib TestTools )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Database/AthenaPOOL/AthenaPoolServices/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolServices/CMakeLists.txt
index b7676b0ed8d2..6d9c789154d4 100644
--- a/Database/AthenaPOOL/AthenaPoolServices/CMakeLists.txt
+++ b/Database/AthenaPOOL/AthenaPoolServices/CMakeLists.txt
@@ -3,14 +3,6 @@
 # Declare the package name:
 atlas_subdir( AthenaPoolServices )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          GaudiKernel
-                          PRIVATE
-                          Control/AthenaBaseComps
-                          Control/DataModelRoot
-                          Database/APR/StorageSvc )
-
 # External dependencies:
 find_package( ROOT COMPONENTS Core )
 
@@ -24,8 +16,7 @@ atlas_add_library( AthenaPoolServicesLib
 atlas_add_component( AthenaRootStreamerSvc
    src/*.h src/*.cxx src/components/*.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthenaBaseComps DataModelRoot
-   StorageSvc )
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps AthenaPoolServicesLib DataModelRoot StorageSvc )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Database/AthenaPOOL/AthenaPoolTools/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolTools/CMakeLists.txt
index 1ebe4fe84f87..5c48780c2380 100644
--- a/Database/AthenaPOOL/AthenaPoolTools/CMakeLists.txt
+++ b/Database/AthenaPOOL/AthenaPoolTools/CMakeLists.txt
@@ -1,29 +1,15 @@
-################################################################################
-# Package: AthenaPoolTools
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( AthenaPoolTools )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          Control/AthenaBaseComps
-                          Control/AthenaKernel
-                          Control/StoreGate
-                          Database/PersistentDataModel
-                          Event/EventInfo
-                          Event/ByteStreamData
-                          Event/xAOD/xAODEventInfo
-                          Event/xAOD/xAODCutFlow
-                          GaudiKernel )
-
 # Component(s) in the package:
 atlas_add_component( AthenaPoolTools
                      src/EventCount.cxx
                      src/MetadataTest.cxx
                      src/RequireUniqueEvent.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps AthenaKernel StoreGateLib SGtests PersistentDataModel EventInfo xAODEventInfo GaudiKernel xAODCutFlow ByteStreamData)
+                     LINK_LIBRARIES AthenaBaseComps AthenaKernel ByteStreamData EventInfo GaudiKernel PersistentDataModel StoreGateLib xAODCutFlow xAODEventInfo )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Database/AthenaPOOL/AthenaPoolUtilities/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolUtilities/CMakeLists.txt
index 6198f0c0eff1..486494d4560b 100644
--- a/Database/AthenaPOOL/AthenaPoolUtilities/CMakeLists.txt
+++ b/Database/AthenaPOOL/AthenaPoolUtilities/CMakeLists.txt
@@ -1,20 +1,8 @@
-# $Id: CMakeLists.txt 758198 2016-06-28 15:18:49Z mnowak $
-################################################################################
-# Package: AthenaPoolUtilities
-################################################################################
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # Declare the package name:
 atlas_subdir( AthenaPoolUtilities )
 
-# Declare the package's dependencies:
-atlas_depends_on_subdirs(
-   PUBLIC
-   Control/AthenaKernel
-   Control/AthContainers
-   Control/CxxUtils
-   Database/AthenaPOOL/DBDataModel
-   Database/PersistentDataModel )
-
 # External dependencies:
 find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess )
 
@@ -24,8 +12,7 @@ atlas_add_library( AthenaPoolUtilities
    INTERFACE
    PUBLIC_HEADERS AthenaPoolUtilities
    INCLUDE_DIRS ${CORAL_INCLUDE_DIRS}
-   LINK_LIBRARIES ${CORAL_LIBRARIES} AthenaKernel AthContainers DBDataModel
-   PersistentDataModel )
+   LINK_LIBRARIES ${CORAL_LIBRARIES} AthContainers AthenaKernel CollectionBase CxxUtils DBDataModel GaudiKernel PersistentDataModel )
 
 atlas_add_dictionary( AthenaPoolUtilitiesCoralDict
    AthenaPoolUtilities/AthenaPoolUtilitiesCoralDict.h
-- 
GitLab