]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/CMakeLists.txt
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / CMakeLists.txt
1 # **************************************************************************
2 # * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
3 # *                                                                        *
4 # * Author: The ALICE Off-line Project.                                    *
5 # * Contributors are mentioned in the code where appropriate.              *
6 # *                                                                        *
7 # * Permission to use, copy, modify and distribute this software and its   *
8 # * documentation strictly for non-commercial purposes is hereby granted   *
9 # * without fee, provided that the above copyright notice appears in all   *
10 # * copies and that both the copyright notice and this permission notice   *
11 # * appear in the supporting documentation. The authors make no claims     *
12 # * about the suitability of this software for any purpose. It is          *
13 # * provided "as is" without express or implied warranty.                  *
14 # **************************************************************************/
15
16 # Libraries from subdirectories
17 add_subdirectory(pid)
18 add_subdirectory(EVCHAR)
19 add_subdirectory(MUON)
20
21 #Module
22 set (MODULE PWGPP)
23
24 # Module include folder
25 include_directories(${AliRoot_SOURCE_DIR}/PWGPP)
26
27 # Additional includes - alphabetical order except ROOT
28 include_directories(${ROOT_INCLUDE_DIRS}
29                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS
30                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSISalice
31                     ${AliRoot_SOURCE_DIR}/TENDER/Tender
32                     ${AliRoot_SOURCE_DIR}/CORRFW
33                     ${AliRoot_SOURCE_DIR}/EMCAL/EMCALUtils
34                     ${AliRoot_SOURCE_DIR}/HMPID/HMPIDbase
35                     ${AliRoot_SOURCE_DIR}/ITS/ITSbase
36                     ${AliRoot_SOURCE_DIR}/ITS/ITSrec
37                     ${AliRoot_SOURCE_DIR}/PWG/CaloTrackCorrBase
38                     ${AliRoot_SOURCE_DIR}/OADB
39                     ${AliRoot_SOURCE_DIR}/STAT
40                     ${AliRoot_SOURCE_DIR}/STEER/AOD
41                     ${AliRoot_SOURCE_DIR}/STEER/CDB
42                     ${AliRoot_SOURCE_DIR}/STEER/ESD
43                     ${AliRoot_SOURCE_DIR}/STEER/STEER
44                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
45                     ${AliRoot_SOURCE_DIR}/TOF/TOFbase
46                     ${AliRoot_SOURCE_DIR}/TOF/TOFrec
47                     ${AliRoot_SOURCE_DIR}/TPC/TPCbase
48                     ${AliRoot_SOURCE_DIR}/TPC/TPCrec
49                     ${AliRoot_SOURCE_DIR}/TPC/TPCsim
50                     ${AliRoot_SOURCE_DIR}/TRD/TRDbase
51                     ${AliRoot_SOURCE_DIR}/TRD/TRDrec
52   )
53
54 # Sources as introduced by the authors
55 #file ( GLOB SRCS1 "*.cxx" )
56 set ( SRCS1
57   AliAnaFwdDetsQA.cxx
58   AliAnalysisTaskFilteredTree.cxx
59   AliAnalysisTaskIPInfo.cxx
60   AliAnalysisTaskITSTPCalignment.cxx
61   AliAnalysisTaskQASym.cxx
62   AliAnalysisTaskV0QA.cxx
63   AliAnalysisTaskVtXY.cxx
64   AliAnaVZEROQA.cxx
65   AliFilteredTreeAcceptanceCuts.cxx
66   AliFilteredTreeEventCuts.cxx
67   AliIntSpotEstimator.cxx
68   AliRelAlignerKalmanArray.cxx
69   AliTaskCDBconnect.cxx
70   AliTrackComparison.cxx
71   AliTrackComparisonESD.cxx
72   )
73 #file ( GLOB SRCS2 "global/*.cxx" )
74 set ( SRCS2
75   global/AliAnalysisTaskGlobalQA.cxx
76   global/AliAnalysisTaskVertexESD.cxx
77   global/AliGlobalFBFqa.cxx
78   )
79 #file ( GLOB SRCS3 "cosmic/*.cxx" )
80 set ( SRCS3
81   cosmic/AliAnalysisTaskCosmic.cxx
82   )
83 #file ( GLOB SRCS4 "tender/*.cxx" )
84 set ( SRCS4
85   tender/AliTenderSupplyTRD.cxx
86   )
87 #file ( GLOB SRCS5 "HMPID/*.cxx" )
88 set ( SRCS5
89   HMPID/AliHMPIDTaskQA.cxx
90   )
91 #file ( GLOB SRCS6 "ITS/*.cxx" )
92 set ( SRCS6
93   ITS/AliAlignmentDataFilterITS.cxx
94   ITS/AliAnalysisTaskdEdxSSDQA.cxx
95   ITS/AliAnalysisTaskITSAlignQA.cxx
96   ITS/AliAnalysisTaskITSsaTracks.cxx
97   ITS/AliAnalysisTaskITSTrackingCheck.cxx
98   ITS/AliAnalysisTaskSDDRP.cxx
99   ITS/AliAnalysisTaskSEImpParRes.cxx
100   ITS/AliAnalysisTaskSPD.cxx
101   ITS/AliMeanVertexCalibTask.cxx
102   ITS/AliMeanVertexPreprocessorOffline.cxx
103   ITS/AliSPDUtils.cxx
104   ITS/AliTrackMatchingTPCITSCosmics.cxx
105   )
106 #file ( GLOB SRCS7 "TRD/*.cxx" )
107 set ( SRCS7
108   TRD/AliTRDalignmentTask.cxx
109   TRD/AliTRDcalibration.cxx
110   TRD/AliTRDcheckDET.cxx
111   TRD/AliTRDcheckESD.cxx
112   TRD/AliTRDcheckPID.cxx
113   TRD/AliTRDcheckTRK.cxx
114   TRD/AliTRDclusterResolution.cxx
115   TRD/AliTRDefficiency.cxx
116   TRD/AliTRDefficiencyMC.cxx
117   TRD/AliTRDinfoGen.cxx
118   TRD/AliTRDmultiplicity.cxx
119   TRD/AliTRDonlineTrackletFilter.cxx
120   TRD/AliTRDonlineTrackletQA.cxx
121   TRD/AliTRDpidRefMaker.cxx
122   TRD/AliTRDpidRefMakerLQ.cxx
123   TRD/AliTRDpidRefMakerNN.cxx
124   TRD/AliTRDpwgppHelper.cxx
125   TRD/AliTRDrecoTask.cxx
126   TRD/AliTRDresolution.cxx
127   TRD/AliTRDv0Monitor.cxx
128   )
129 #file ( GLOB SRCS8 "TPC/*.cxx" )
130 set ( SRCS8
131   TPC/AliAnalysisNoiseTPC.cxx
132   TPC/AliComparisonDraw.cxx
133   TPC/AliComparisonObject.cxx
134   TPC/AliESDRecInfo.cxx
135   TPC/AliESDRecKinkInfo.cxx
136   TPC/AliESDRecV0Info.cxx
137   TPC/AliESDresolMakerFast.cxx
138   TPC/AliESDresolParams.cxx
139   TPC/AliGenInfoMaker.cxx
140   TPC/AliGenInfoTask.cxx
141   TPC/AliGenKinkInfo.cxx
142   TPC/AliGenV0Info.cxx
143   TPC/AliMaterialBudget.cxx
144   TPC/AliMCInfoCuts.cxx
145   TPC/AliMCInfo.cxx
146   TPC/AliMCTrackingTestTask.cxx
147   TPC/AliPerfAnalyzeInvPt.cxx
148   TPC/AliPerformanceDCA.cxx
149   TPC/AliPerformanceDEdx.cxx
150   TPC/AliPerformanceEff.cxx
151   TPC/AliPerformanceMatch.cxx
152   TPC/AliPerformanceMC.cxx
153   TPC/AliPerformanceObject.cxx
154   TPC/AliPerformancePtCalib.cxx
155   TPC/AliPerformancePtCalibMC.cxx
156   TPC/AliPerformanceRes.cxx
157   TPC/AliPerformanceTask.cxx
158   TPC/AliPerformanceTPC.cxx
159   TPC/AliRecInfoCuts.cxx
160   TPC/AliRecInfoMaker.cxx
161   TPC/AliTaskConfigOCDB.cxx
162   TPC/AliTPCComparisonPID.cxx
163   TPC/AliTPCPerformanceSummary.cxx
164   TPC/AliTPCtaskPID.cxx
165   TPC/AliTPCtaskQA.cxx
166   TPC/AliTreeDraw.cxx
167   TPC/AliTPCPIDBase.cxx
168   TPC/AliTPCPIDEtaTree.cxx
169   TPC/AliTPCPIDEtaQA.cxx
170   TPC/AliTPCcalibResidualPID.cxx
171   )
172 #file ( GLOB SRCS9 "TOF/*.cxx" )
173 set ( SRCS9
174   TOF/AliAnalysisTaskTOFqa.cxx
175   TOF/AliAnalysisTaskTOFqaID.cxx
176   )
177 #file ( GLOB SRCS10 "TRD/info/*.cxx" )
178 set ( SRCS10
179   TRD/info/AliTRDchmbInfo.cxx
180   TRD/info/AliTRDclusterInfo.cxx
181   TRD/info/AliTRDeventCuts.cxx
182   TRD/info/AliTRDeventInfo.cxx
183   TRD/info/AliTRDpidInfo.cxx
184   TRD/info/AliTRDtrackInfo.cxx
185   TRD/info/AliTRDtrendingManager.cxx
186   TRD/info/AliTRDtrendValue.cxx
187   TRD/info/AliTRDtriggerInfo.cxx
188   TRD/info/AliTRDv0Info.cxx
189   )
190 #file ( GLOB SRCS11 "background/*.cxx" )
191 set ( SRCS11
192   background/AliHistoListWrapper.cxx
193   )
194 #file ( GLOB SRCS12 "Centrality/*.cxx" )
195 set ( SRCS12
196   Centrality/AliAnalysisTaskHIMultCorr.cxx
197   Centrality/AliMultiplicityCorrelations.cxx
198   )
199 #file ( GLOB SRCS13 "ZDC/*.cxx" )
200 set ( SRCS13
201   ZDC/AliAnalysisTaskZDC.cxx
202   ZDC/AliAnalysisTaskZDCpA.cxx
203   )
204 #file ( GLOB SRCS14 "T0/*.cxx" )
205 set ( SRCS14
206   T0/AliT0AnalysisTaskQA.cxx
207   )
208 #file ( GLOB SRCS15 "VZERO/*PbPb.cxx" )
209 set (SRCS15
210   VZERO/AliAnaVZEROPbPb.cxx
211   )
212 #file ( GLOB SRCS16 "EvTrkSelection/*.cxx" )
213 set ( SRCS16
214   EvTrkSelection/AliAnalysisTrackingUncertainties.cxx
215   EvTrkSelection/AliCFSingleTrackEfficiencyTask.cxx
216   EvTrkSelection/AliSingleTrackEffCuts.cxx
217   )
218 #file ( GLOB SRCS17 "TRD/TRDPID/*.cxx" )
219 set ( SRCS17  
220   TRD/TRDPID/AliTRDPIDTree.cxx
221   TRD/TRDPID/AliTRDPIDmatching.cxx
222   )  
223
224 list ( APPEND SRCS 
225   ${SRCS1} 
226   ${SRCS2} 
227   ${SRCS3} 
228   ${SRCS4} 
229   ${SRCS5} 
230   ${SRCS6} 
231   ${SRCS7} 
232   ${SRCS8} 
233   ${SRCS9} 
234   ${SRCS10} 
235   ${SRCS11} 
236   ${SRCS12} 
237   ${SRCS13} 
238   ${SRCS14}
239   ${SRCS15}
240   ${SRCS16}
241   ${SRCS17}
242   )
243
244 # Headers from sources
245 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
246
247 # Generate the dictionary
248 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
249 get_directory_property(incdirs INCLUDE_DIRECTORIES)
250 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
251
252 # Add a shared library
253 add_library(${MODULE} SHARED  ${SRCS} G__${MODULE}.cxx)
254
255 # Generate the ROOT map
256 # Dependecies
257 set(LIBDEPS ANALYSISalice CDB CORRFW EMCALUtils ITSrec HMPIDbase PWGCaloTrackCorrBase STEER Tender TOFrec TPCrec TRDrec Postscript)
258 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
259
260 # Linking the library
261 target_link_libraries(${MODULE} ${LIBDEPS})
262
263 # Public include folders that will be propagated to the dependecies
264 target_include_directories(${MODULE} PUBLIC ${incdirs})
265
266 # System dependent: Modify the way the library is build
267 if(${CMAKE_SYSTEM} MATCHES Darwin)
268     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
269 endif(${CMAKE_SYSTEM} MATCHES Darwin)
270
271 # Installation
272 install(TARGETS ${MODULE} 
273   ARCHIVE DESTINATION lib
274   LIBRARY DESTINATION lib)
275 install(FILES ${HDRS} DESTINATION include)
276
277 # install macros as needed
278 install(DIRECTORY macros DESTINATION PWGPP)
279 install(DIRECTORY CalibMacros DESTINATION PWGPP)
280 install(DIRECTORY PilotTrain DESTINATION PWGPP)
281 install(DIRECTORY CalibMacros DESTINATION PWGPP)
282 install(FILES HMPID/AddTaskHmpidQA.C DESTINATION PWGPP/HMPID)
283 install(FILES T0/AddTaskT0QA.C  DESTINATION PWGPP/T0)
284 install(FILES TOF/AddTaskTOFQA.C
285               TOF/AddTaskTOFqaID.C
286         DESTINATION PWGPP/TOF)
287 install(FILES TOF/AddTaskTOFQA.C DESTINATION PWGPP/TOF)
288 install(DIRECTORY TPC/macros DESTINATION PWGPP/TPC PATTERN ".C")
289 install(DIRECTORY TRD DESTINATION PWGPP)
290 install(FILES TRD/TRDPID/macros/AddTaskTRDPIDTree.C
291             TRD/TRDPID/macros/AddTaskTRDPIDmatching.C
292          DESTINATION PWGPP/TRD)
293 install(FILES ZDC/AddTaskZDCQA.C DESTINATION PWGPP/ZDC)
294 install(FILES PilotTrain/AddTaskMuonQA.C DESTINATION PWGPP/PilotTrain/ )
295 install(FILES VZERO/AddTaskVZEROPbPb.C DESTINATION PWGPP/VZERO/)
296 install(DIRECTORY MUON/lite DESTINATION PWGPP/MUON FILES_MATCHING PATTERN "*.C")
297 install(DIRECTORY scripts DESTINATION PWGPP USE_SOURCE_PERMISSIONS)
298 install(DIRECTORY QA/scripts DESTINATION PWGPP/QA USE_SOURCE_PERMISSIONS)
299 install(DIRECTORY QA/detectorQAscripts DESTINATION PWGPP/QA USE_SOURCE_PERMISSIONS)
300
301 message(STATUS "PWGPP enabled")