Commit 71095ee0 authored by Marco Cattaneo's avatar Marco Cattaneo
Browse files

Merge branch 'cmake-modernization-run2' into 'run2-patches'

(run2) Rewrite CMake configuration in "modern CMake"

See merge request !369
parents 68c2aad5 766606eb
Pipeline #3300303 passed with stage
in 26 seconds
......@@ -6,7 +6,7 @@
InstallArea/
# CMake temporary files
build.*/
build*/
.build/
build-dir/
CMakeFiles/
......@@ -47,3 +47,6 @@ test_results/
i686-winxp-vc9-dbg/
.*-slc[56]-*.d/
.i686-winxp-vc9-dbg.d/
.clang-format
toolchain.cmake
###############################################################################
# (c) Copyright 2000-2018 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -15,7 +15,7 @@ check-copyright:
image: gitlab-registry.cern.ch/ci-tools/ci-worker:cc7
script:
- curl -o lb-check-copyright "https://gitlab.cern.ch/lhcb-core/LbDevTools/raw/master/LbDevTools/SourceTools.py?inline=false"
- python lb-check-copyright origin/${TARGET_BRANCH}
- python lb-check-copyright origin/${TARGET_BRANCH} --exclude lhcbproject.yml
check-formatting:
image: gitlab-registry.cern.ch/lhcb-docker/style-checker
......
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,20 +8,16 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: BcmDigi
################################################################################
gaudi_subdir(BcmDigi v1r2p1)
gaudi_depends_on_subdirs(Det/BcmDet
Event/MCEvent
GaudiAlg)
find_package(ROOT)
find_package(Boost)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Bcm/BcmDigi
-----------
#]=======================================================================]
gaudi_add_module(BcmDigi
src/*.cpp
LINK_LIBRARIES BcmDetLib MCEvent GaudiAlgLib)
SOURCES
src/BcmDigitization.cpp
LINK
Gaudi::GaudiAlgLib
LHCb::DigiEventLib
LHCb::MCEvent
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,9 +8,9 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: BooleSys
################################################################################
gaudi_subdir(BooleSys v32r2)
#[=======================================================================[.rst:
BooleSys
--------
#]=======================================================================]
gaudi_add_test(QMTest QMTEST)
gaudi_add_tests(QMTest)
###############################################################################
# (c) Copyright 2000-2020 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,16 +8,41 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
#---------------------------------------------------------------
# Load macros and functions for Gaudi-based projects
find_package(GaudiProject)
#---------------------------------------------------------------
cmake_minimum_required(VERSION 3.15)
# Declare project name and version
gaudi_project(Boole v33r3
USE Lbcom v23r0p4
DATA AppConfig VERSION v3r*
FieldMap VERSION v5r*
ParamFiles VERSION v8r*)
project(Boole VERSION 33.3
LANGUAGES CXX)
# Enable testing with CTest/CDash
include(CTest)
list(PREPEND CMAKE_MODULE_PATH
${PROJECT_SOURCE_DIR}/cmake
)
# Dependencies
set(WITH_Boole_PRIVATE_DEPENDENCIES TRUE)
include(BooleDependencies)
# -- Subdirectories
lhcb_add_subdirectories(
Bcm/BcmDigi
BooleSys
Calo/CaloDigit
Calo/CaloMoniDigi
Digi/Boole
Digi/DigiAlg
HC/HCDigitisation
Muon/MuonAlgs
Muon/MuonBackground
Muon/MuonMoniDigi
OT/OTSimulation
Rich/RichDigiQC
Rich/RichDigiSys
Rich/RichMCAssociators
Rich/RichReadout
ST/STDigiAlgorithms
)
lhcb_finalize_configuration()
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,24 +8,27 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: CaloDigit
################################################################################
gaudi_subdir(CaloDigit v3r6)
gaudi_depends_on_subdirs(Det/CaloDet
Event/DAQEvent
Event/DigiEvent
Event/L0Event
Event/MCEvent
GaudiUtils)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Calo/CaloDigit
--------------
#]=======================================================================]
gaudi_add_module(CaloDigit
src/*.cpp
INCLUDE_DIRS Event/DigiEvent
LINK_LIBRARIES CaloDetLib DAQEventLib L0Event MCEvent GaudiUtilsLib)
SOURCES
src/CaloDigitAlg.cpp
src/CaloPinDigitAlg.cpp
src/CaloSignalAlg.cpp
src/MCCaloLED.cpp
LINK
Boost::headers
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
Gaudi::GaudiUtilsLib
LHCb::CaloDetLib
LHCb::CaloKernelLib
LHCb::DigiEventLib
LHCb::L0Event
LHCb::LHCbKernel
LHCb::MCEvent
ROOT::Hist
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,24 +8,21 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: CaloMoniDigi
################################################################################
gaudi_subdir(CaloMoniDigi v2r6p2)
gaudi_depends_on_subdirs(Det/CaloDet
Event/DigiEvent
Event/MCEvent
GaudiAlg)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Calo/CaloMoniDigi
-----------------
#]=======================================================================]
gaudi_add_module(CaloMoniDigi
src/*.cpp
INCLUDE_DIRS AIDA Event/DigiEvent
LINK_LIBRARIES CaloDetLib MCEvent GaudiAlgLib)
gaudi_env(SET CALOMONIDIGIOPTS \${CALOMONIDIGIROOT}/options)
SOURCES
src/CaloDigitChannel.cpp
src/CaloDigitChecker.cpp
LINK
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
LHCb::CaloDetLib
LHCb::DigiEventLib
LHCb::MCEvent
)
lhcb_env(SET CALOMONIDIGIOPTS ${CMAKE_CURRENT_SOURCE_DIR}/options)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,40 +8,23 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
# Package: Boole
###############################################################################
gaudi_subdir(Boole)
gaudi_depends_on_subdirs(Bcm/BcmDigi
Calo/CaloDigit
Calo/CaloMoniDigi
DAQ/MDF
Det/CaloDetXmlCnv
Det/DDDB
Det/DetDescSvc
Det/Magnet
Digi/DigiAlg
Event/EventPacker
Gaudi
GaudiConf
GaudiKernel
Kernel/LHCbAlgs
Kernel/FSRAlgs
Muon/MuonAlgs
Muon/MuonBackground
Muon/MuonMoniDigi
OT/OTSimulation
Rich/RichDigiQC
Rich/RichMCAssociators
Rich/RichDigiSys
Rich/RichReadout
Sim/SimComponents
ST/STDigiAlgorithms
Tools/XmlTools)
gaudi_install_python_modules()
#[=======================================================================[.rst:
Digi/Boole
----------
#]=======================================================================]
gaudi_env(SET BOOLEOPTS \${BOOLEROOT}/options)
gaudi_install(PYTHON)
gaudi_generate_confuserdb()
lhcb_add_confuser_dependencies(
DAQ/DAQSys
GaudiConf
Kernel/LHCbAlgs
Kernel/LHCbAlgs:LHCbAlgs
Kernel/LHCbKernel
L0/L0DU
Rich/RichDigiSys
)
gaudi_add_tests(QMTest)
gaudi_add_test(QMTest QMTEST)
lhcb_env(SET BOOLEOPTS ${CMAKE_CURRENT_SOURCE_DIR}/options)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,27 +8,29 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
# Package: DigiAlg
###############################################################################
gaudi_subdir(DigiAlg)
gaudi_depends_on_subdirs(Det/OTDet
Det/STDet
Det/VeloDet
Event/DAQEvent
Event/DigiEvent
Event/EventBase
Event/GenEvent
Event/LinkerEvent
Event/MCEvent
GaudiAlg)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Digi/DigiAlg
------------
#]=======================================================================]
gaudi_add_module(DigiAlg
src/*.cpp
INCLUDE_DIRS Event/DigiEvent Event/EventBase
LINK_LIBRARIES OTDetLib STDetLib VeloDetLib DAQEventLib GenEvent LinkerEvent MCEvent GaudiAlgLib)
SOURCES
src/BooleInit.cpp
src/BuildMCTrackInfo.cpp
src/FilterMCPrimaryVtx.cpp
src/LumiTool.cpp
src/MergeEventAlg.cpp
LINK
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
LHCb::DAQEventLib
LHCb::DigiEventLib
LHCb::EventBaseLib
LHCb::GenEvent
LHCb::LHCbKernel
LHCb::LinkerEvent
LHCb::MCEvent
LHCb::OTDetLib
LHCb::STDetLib
LHCb::VeloDetLib
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,23 +8,18 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: HCDigitisation
################################################################################
gaudi_subdir(HCDigitisation v1r2)
gaudi_depends_on_subdirs(Event/DAQEvent
Event/MCEvent
Event/GenEvent
GaudiAlg
Kernel/LHCbKernel)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
HC/HCDigitisation
-----------------
#]=======================================================================]
gaudi_add_module(HCDigitisation
src/*.cpp
INCLUDE_DIRS AIDA Event/DigiEvent
LINK_LIBRARIES DAQEventLib GenEvent MCEvent GaudiAlgLib LHCbKernel)
SOURCES
src/HCDigitCreator.cpp
LINK
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
LHCb::DAQEventLib
LHCb::GenEvent
LHCb::MCEvent
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,23 +8,30 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: MuonAlgs
################################################################################
gaudi_subdir(MuonAlgs v6r14)
gaudi_depends_on_subdirs(Det/MuonDet
Event/DigiEvent
Event/MCEvent
GaudiAlg
Muon/MuonKernel)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Muon/MuonAlgs
-------------
#]=======================================================================]
gaudi_add_module(MuonAlgs
src/*.cpp
INCLUDE_DIRS Event/DigiEvent
LINK_LIBRARIES MuonDetLib MCEvent GaudiAlgLib MuonKernelLib)
SOURCES
src/MuonCardiacChannelOutput.cpp
src/MuonCardiacTraceBack.cpp
src/MuonChamberResponse.cpp
src/MuonDetectorResponse.cpp
src/MuonDigitization.cpp
src/MuonDigitizationData.cpp
src/MuonHitTraceBack.cpp
src/MuonPhysicalChannel.cpp
src/MuonPhysicalChannelOutput.cpp
src/MuonPhysicalChannelResponse.cpp
LINK
Boost::headers
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
LHCb::DetDescLib
LHCb::DigiEventLib
LHCb::LHCbKernel
LHCb::MCEvent
LHCb::MuonDetLib
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,24 +8,23 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: MuonBackground
################################################################################
gaudi_subdir(MuonBackground v2r15)
gaudi_depends_on_subdirs(Det/MuonDet
Event/GenEvent
Event/MCEvent
GaudiAlg)
find_package(AIDA)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Muon/MuonBackground
-------------------
#]=======================================================================]
gaudi_add_module(MuonBackground
src/*.cpp
INCLUDE_DIRS AIDA
LINK_LIBRARIES MuonDetLib GenEvent MCEvent GaudiAlgLib)
SOURCES
src/MuBgDistribution.cpp
src/MuonBackground.cpp
src/ParticleInfo.cpp
LINK
AIDA::aida
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
LHCb::DetDescLib
LHCb::GenEvent
LHCb::LHCbKernel
LHCb::MCEvent
LHCb::MuonDetLib
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,22 +8,17 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: MuonMoniDigi
################################################################################
gaudi_subdir(MuonMoniDigi v2r8p1)
gaudi_depends_on_subdirs(Det/MuonDet
Event/DigiEvent
Event/MCEvent
GaudiAlg)
find_package(Boost)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
Muon/MuonMoniDigi
-----------------
#]=======================================================================]
gaudi_add_module(MuonMoniDigi
src/*.cpp
INCLUDE_DIRS AIDA Event/DigiEvent
LINK_LIBRARIES MuonDetLib MCEvent GaudiAlgLib)
SOURCES
src/MuonDigitChecker.cpp
LINK
Gaudi::GaudiAlgLib
LHCb::DigiEventLib
LHCb::MCEvent
LHCb::MuonDetLib
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,24 +8,31 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: OTSimulation
################################################################################
gaudi_subdir(OTSimulation v5r5p1)
gaudi_depends_on_subdirs(Det/OTDet
Event/MCEvent
OT/OTDAQ)
find_package(Boost)
find_package(GSL)
find_package(AIDA)
find_package(ROOT)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
#[=======================================================================[.rst:
OT/OTSimulation
---------------
#]=======================================================================]
gaudi_add_module(OTSimulation
src/*.cpp
INCLUDE_DIRS GSL Boost OT/OTDAQ AIDA
LINK_LIBRARIES GSL Boost OTDetLib MCEvent)
SOURCES
src/MCOTDepositCreator.cpp
src/MCOTTimeCreator.cpp
src/OTEffCalculator.cpp
src/OTFillRawBuffer.cpp
src/OTLUTDoublePulseTool.cpp
src/OTRandomDepositCreator.cpp
src/OTSimpleDoublePulseTool.cpp
LINK
AIDA::aida
Boost::headers
Gaudi::GaudiAlgLib
Gaudi::GaudiKernel
Gaudi::GaudiUtilsLib
GSL::gsl
LHCb::LHCbKernel
LHCb::LHCbMathLib
LHCb::MCEvent
LHCb::OTDAQLib
LHCb::OTDetLib
ROOT::Hist
)
###############################################################################
# (c) Copyright 2000-2019 CERN for the benefit of the LHCb Collaboration #
# (c) Copyright 2000-2021 CERN for the benefit of the LHCb Collaboration #
# #
# This software is distributed under the terms of the GNU General Public #
# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". #
......@@ -8,26 +8,22 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
################################################################################
# Package: RichDigiQC
################################################################################