-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
91 lines (80 loc) · 2.6 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
###################################################################
# Package: SusyCommon
###################################################################
# declare the package name
atlas_subdir( SusyCommon )
# extra deps based on the build environment:
set( extra_deps )
set( extra_libs )
# declare the SusyCommon package dependencies
atlas_depends_on_subdirs(
PUBLIC
# collect local SUSYTools
SUSYTools
#SUSYPhys/SUSYTools
# egamma
PhysicsAnalysis/ElectronPhotonID/ElectronEfficiencyCorrection
PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools
# billy butt
PhysicsAnalysis/AnalysisCommon/PileupReweighting
# muon
PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonEfficiencyCorrections
# some people worry about these
PhysicsAnalysis/TauID/TauAnalysisTools
# DQ
DataQuality/GoodRunsLists
# trigger
Trigger/TrigAnalysis/TrigDecisionTool
Trigger/TrigConfiguration/TrigConfxAOD
# isolation
PhysicsAnalysis/AnalysisCommon/IsolationSelection
# xAOD/Core
Event/xAOD/xAODCore
Event/xAOD/xAODCutFlow
Control/AthToolSupport/AsgTools
Tools/PathResolver
PRIVATE
# this is us
SusyNtuple
${extra_deps}
)
# external dependencies
find_package( ROOT COMPONENTS Gpad Graf Graf3d Core Tree MathCore Hist Tree RIO )
atlas_add_root_dictionary( SusyCommonLib SusyCommonCintDict
ROOT_HEADERS SusyCommon/*.h Root/LinkDef.h
EXTERNAL_PACKAGES ROOT
)
# libraries
atlas_add_library( SusyCommonLib
SusyCommon/*.h Root/*.cxx ${SusyCommonCintDict}
PUBLIC_HEADERS SusyCommon
PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES SUSYToolsLib SusyNtupleLib AsgTools xAODCore xAODCutFlow
ElectronEfficiencyCorrectionLib ElectronPhotonSelectorToolsLib
PileupReweightingLib
MuonEfficiencyCorrectionsLib
TauAnalysisToolsLib
GoodRunsListsLib
TrigDecisionToolLib
TrigConfxAODLib
IsolationSelectionLib
PathResolver
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES}
)
# executable(s) in the package
set( extra_libs )
function(SusyNtExec filename)
set(execname)
get_filename_component(execname ${filename} NAME_WE)
atlas_add_executable( ${execname} "util/${execname}.cxx"
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} SusyCommonLib ${extra_libs}
)
endfunction(SusyNtExec)
# build everything in util/ as an executable for SusyCommon
file(GLOB files "util/*.cxx")
foreach(file ${files})
SusyNtExec(${file})
endforeach()
# add our data files so that they can be picked up by PathResolver's awesome abilities
atlas_install_data( data/* )