- Coverity fixes
[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}/ANALYSIS/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}/STAT
39                     ${AliRoot_SOURCE_DIR}/STEER/AOD
40                     ${AliRoot_SOURCE_DIR}/STEER/CDB
41                     ${AliRoot_SOURCE_DIR}/STEER/ESD
42                     ${AliRoot_SOURCE_DIR}/STEER/STEER
43                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
44                     ${AliRoot_SOURCE_DIR}/TOF/TOFbase
45                     ${AliRoot_SOURCE_DIR}/TOF/TOFrec
46                     ${AliRoot_SOURCE_DIR}/TPC/TPCbase
47                     ${AliRoot_SOURCE_DIR}/TPC/TPCrec
48                     ${AliRoot_SOURCE_DIR}/TPC/TPCsim
49                     ${AliRoot_SOURCE_DIR}/TRD/TRDbase
50                     ${AliRoot_SOURCE_DIR}/TRD/TRDrec
51   )
52
53 # Sources as introduced by the authors
54 #file ( GLOB SRCS1 "*.cxx" )
55 set ( SRCS1
56   AliAnaFwdDetsQA.cxx
57   AliAnalysisTaskFilteredTree.cxx
58   AliAnalysisTaskIPInfo.cxx
59   AliAnalysisTaskITSTPCalignment.cxx
60   AliAnalysisTaskQASym.cxx
61   AliAnalysisTaskV0QA.cxx
62   AliAnalysisTaskVtXY.cxx
63   AliAnaVZEROQA.cxx
64   AliFilteredTreeAcceptanceCuts.cxx
65   AliFilteredTreeEventCuts.cxx
66   AliIntSpotEstimator.cxx
67   AliRelAlignerKalmanArray.cxx
68   AliTaskCDBconnect.cxx
69   AliTrackComparison.cxx
70   AliTrackComparisonESD.cxx
71   )
72 #file ( GLOB SRCS2 "global/*.cxx" )
73 set ( SRCS2
74   global/AliAnalysisTaskGlobalQA.cxx
75   global/AliAnalysisTaskVertexESD.cxx
76   global/AliGlobalFBFqa.cxx
77   )
78 #file ( GLOB SRCS3 "cosmic/*.cxx" )
79 set ( SRCS3
80   cosmic/AliAnalysisTaskCosmic.cxx
81   )
82 #file ( GLOB SRCS4 "tender/*.cxx" )
83 set ( SRCS4
84   tender/AliTenderSupplyTRD.cxx
85   )
86 #file ( GLOB SRCS5 "HMPID/*.cxx" )
87 set ( SRCS5
88   HMPID/AliHMPIDTaskQA.cxx
89   )
90 #file ( GLOB SRCS6 "ITS/*.cxx" )
91 set ( SRCS6
92   ITS/AliAlignmentDataFilterITS.cxx
93   ITS/AliAnalysisTaskdEdxSSDQA.cxx
94   ITS/AliAnalysisTaskITSAlignQA.cxx
95   ITS/AliAnalysisTaskITSsaTracks.cxx
96   ITS/AliAnalysisTaskITSTrackingCheck.cxx
97   ITS/AliAnalysisTaskSDDRP.cxx
98   ITS/AliAnalysisTaskSEImpParRes.cxx
99   ITS/AliAnalysisTaskSPD.cxx
100   ITS/AliMeanVertexCalibTask.cxx
101   ITS/AliMeanVertexPreprocessorOffline.cxx
102   ITS/AliSPDUtils.cxx
103   ITS/AliTrackMatchingTPCITSCosmics.cxx
104   )
105 #file ( GLOB SRCS7 "TRD/*.cxx" )
106 set ( SRCS7
107   TRD/AliTRDalignmentTask.cxx
108   TRD/AliTRDcalibration.cxx
109   TRD/AliTRDcheckDET.cxx
110   TRD/AliTRDcheckESD.cxx
111   TRD/AliTRDcheckPID.cxx
112   TRD/AliTRDcheckTRK.cxx
113   TRD/AliTRDclusterResolution.cxx
114   TRD/AliTRDefficiency.cxx
115   TRD/AliTRDefficiencyMC.cxx
116   TRD/AliTRDinfoGen.cxx
117   TRD/AliTRDmultiplicity.cxx
118   TRD/AliTRDonlineTrackletFilter.cxx
119   TRD/AliTRDonlineTrackletQA.cxx
120   TRD/AliTRDpidRefMaker.cxx
121   TRD/AliTRDpidRefMakerLQ.cxx
122   TRD/AliTRDpidRefMakerNN.cxx
123   TRD/AliTRDpwgppHelper.cxx
124   TRD/AliTRDrecoTask.cxx
125   TRD/AliTRDresolution.cxx
126   TRD/AliTRDv0Monitor.cxx
127   )
128 #file ( GLOB SRCS8 "TPC/*.cxx" )
129 set ( SRCS8
130   TPC/AliAnalysisNoiseTPC.cxx
131   TPC/AliComparisonDraw.cxx
132   TPC/AliComparisonObject.cxx
133   TPC/AliESDRecInfo.cxx
134   TPC/AliESDRecKinkInfo.cxx
135   TPC/AliESDRecV0Info.cxx
136   TPC/AliESDresolMakerFast.cxx
137   TPC/AliESDresolParams.cxx
138   TPC/AliGenInfoMaker.cxx
139   TPC/AliGenInfoTask.cxx
140   TPC/AliGenKinkInfo.cxx
141   TPC/AliGenV0Info.cxx
142   TPC/AliMaterialBudget.cxx
143   TPC/AliMCInfoCuts.cxx
144   TPC/AliMCInfo.cxx
145   TPC/AliMCTrackingTestTask.cxx
146   TPC/AliPerfAnalyzeInvPt.cxx
147   TPC/AliPerformanceDCA.cxx
148   TPC/AliPerformanceDEdx.cxx
149   TPC/AliPerformanceEff.cxx
150   TPC/AliPerformanceMatch.cxx
151   TPC/AliPerformanceMC.cxx
152   TPC/AliPerformanceObject.cxx
153   TPC/AliPerformancePtCalib.cxx
154   TPC/AliPerformancePtCalibMC.cxx
155   TPC/AliPerformanceRes.cxx
156   TPC/AliPerformanceTask.cxx
157   TPC/AliPerformanceTPC.cxx
158   TPC/AliRecInfoCuts.cxx
159   TPC/AliRecInfoMaker.cxx
160   TPC/AliTaskConfigOCDB.cxx
161   TPC/AliTPCComparisonPID.cxx
162   TPC/AliTPCPerformanceSummary.cxx
163   TPC/AliTPCtaskPID.cxx
164   TPC/AliTPCtaskQA.cxx
165   TPC/AliTreeDraw.cxx
166   TPC/AliTPCPIDBase.cxx
167   TPC/AliTPCPIDEtaTree.cxx
168   TPC/AliTPCPIDEtaQA.cxx
169   TPC/AliTPCcalibResidualPID.cxx
170   )
171 #file ( GLOB SRCS9 "TOF/*.cxx" )
172 set ( SRCS9
173   TOF/AliAnalysisTaskTOFqa.cxx
174   TOF/AliAnalysisTaskTOFqaID.cxx
175   )
176 #file ( GLOB SRCS10 "TRD/info/*.cxx" )
177 set ( SRCS10
178   TRD/info/AliTRDchmbInfo.cxx
179   TRD/info/AliTRDclusterInfo.cxx
180   TRD/info/AliTRDeventCuts.cxx
181   TRD/info/AliTRDeventInfo.cxx
182   TRD/info/AliTRDpidInfo.cxx
183   TRD/info/AliTRDtrackInfo.cxx
184   TRD/info/AliTRDtrendingManager.cxx
185   TRD/info/AliTRDtrendValue.cxx
186   TRD/info/AliTRDtriggerInfo.cxx
187   TRD/info/AliTRDv0Info.cxx
188   )
189 #file ( GLOB SRCS11 "background/*.cxx" )
190 set ( SRCS11
191   background/AliHistoListWrapper.cxx
192   )
193 #file ( GLOB SRCS12 "Centrality/*.cxx" )
194 set ( SRCS12
195   Centrality/AliAnalysisTaskHIMultCorr.cxx
196   Centrality/AliMultiplicityCorrelations.cxx
197   )
198 #file ( GLOB SRCS13 "ZDC/*.cxx" )
199 set ( SRCS13
200   ZDC/AliAnalysisTaskZDC.cxx
201   ZDC/AliAnalysisTaskZDCpA.cxx
202   )
203 #file ( GLOB SRCS14 "T0/*.cxx" )
204 set ( SRCS14
205   T0/AliT0AnalysisTaskQA.cxx
206   )
207 #file ( GLOB SRCS15 "VZERO/*PbPb.cxx" )
208 set (SRCS15
209   VZERO/AliAnaVZEROPbPb.cxx
210   )
211 #file ( GLOB SRCS16 "EvTrkSelection/*.cxx" )
212 set ( SRCS16
213   EvTrkSelection/AliAnalysisTrackingUncertainties.cxx
214   EvTrkSelection/AliCFSingleTrackEfficiencyTask.cxx
215   EvTrkSelection/AliSingleTrackEffCuts.cxx
216   )
217 #file ( GLOB SRCS17 "TRD/TRDPID/*.cxx" )
218 set ( SRCS17  
219   TRD/TRDPID/AliTRDPIDTree.cxx
220   TRD/TRDPID/AliTRDPIDmatching.cxx
221   )  
222
223 list ( APPEND SRCS 
224   ${SRCS1} 
225   ${SRCS2} 
226   ${SRCS3} 
227   ${SRCS4} 
228   ${SRCS5} 
229   ${SRCS6} 
230   ${SRCS7} 
231   ${SRCS8} 
232   ${SRCS9} 
233   ${SRCS10} 
234   ${SRCS11} 
235   ${SRCS12} 
236   ${SRCS13} 
237   ${SRCS14}
238   ${SRCS15}
239   ${SRCS16}
240   ${SRCS17}
241   )
242
243 # Headers from sources
244 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
245
246 # Generate the dictionary
247 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
248 get_directory_property(incdirs INCLUDE_DIRECTORIES)
249 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
250
251 # Add a shared library
252 add_library(${MODULE} SHARED  ${SRCS} G__${MODULE}.cxx)
253
254 # Generate the ROOT map
255 # Dependecies
256 set(LIBDEPS ANALYSISalice CDB CORRFW EMCALUtils ITSrec HMPIDbase PWGCaloTrackCorrBase STEER Tender TOFrec TPCrec TRDrec Postscript)
257 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
258
259 # Linking the library
260 target_link_libraries(${MODULE} ${LIBDEPS})
261
262 # Public include folders that will be propagated to the dependecies
263 target_include_directories(${MODULE} PUBLIC ${incdirs})
264
265 # System dependent: Modify the way the library is build
266 if(${CMAKE_SYSTEM} MATCHES Darwin)
267     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
268 endif(${CMAKE_SYSTEM} MATCHES Darwin)
269
270 # Installation
271 install(TARGETS ${MODULE} 
272   ARCHIVE DESTINATION lib
273   LIBRARY DESTINATION lib)
274 install(FILES ${HDRS} DESTINATION include)
275
276 # install macros as needed
277 install(DIRECTORY macros DESTINATION PWGPP)
278 install(DIRECTORY CalibMacros DESTINATION PWGPP)
279 install(DIRECTORY PilotTrain DESTINATION PWGPP)
280 install(DIRECTORY CalibMacros DESTINATION PWGPP)
281 install(FILES HMPID/AddTaskHmpidQA.C DESTINATION PWGPP/HMPID)
282 install(FILES T0/AddTaskT0QA.C  DESTINATION PWGPP/T0)
283 install(FILES TOF/AddTaskTOFQA.C
284               TOF/AddTaskTOFqaID.C
285         DESTINATION PWGPP/TOF)
286 install(FILES TOF/AddTaskTOFQA.C DESTINATION PWGPP/TOF)
287 install(DIRECTORY TPC/macros DESTINATION PWGPP/TPC PATTERN ".C")
288 install(DIRECTORY TRD DESTINATION PWGPP)
289 install(FILES TRD/TRDPID/macros/AddTaskTRDPIDTree.C
290             TRD/TRDPID/macros/AddTaskTRDPIDmatching.C
291          DESTINATION PWGPP/TRD)
292 install(FILES ZDC/AddTaskZDCQA.C DESTINATION PWGPP/ZDC)
293 install(FILES PilotTrain/AddTaskMuonQA.C DESTINATION PWGPP/PilotTrain/ )
294 install(FILES VZERO/AddTaskVZEROPbPb.C DESTINATION PWGPP/VZERO/)
295 install(DIRECTORY MUON/lite DESTINATION PWGPP/MUON FILES_MATCHING PATTERN "*.C")
296 install(DIRECTORY scripts DESTINATION PWGPP USE_SOURCE_PERMISSIONS)
297 install(DIRECTORY QA/scripts DESTINATION PWGPP/QA USE_SOURCE_PERMISSIONS)
298 install(DIRECTORY QA/detectorQAscripts DESTINATION PWGPP/QA USE_SOURCE_PERMISSIONS)
299
300 message(STATUS "PWGPP enabled")