]>
Commit | Line | Data |
---|---|---|
e9e48ff1 | 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 | # Module | |
17 | set(MODULE STEER) | |
18 | ||
19 | # Module include folders | |
427d561c | 20 | include_directories(${AliRoot_SOURCE_DIR}/STEER/${MODULE}) |
e9e48ff1 | 21 | |
22 | # Additional include directories - alphabetical order except ROOT | |
23 | include_directories(${ROOT_INCLUDE_DIRS} | |
427d561c | 24 | ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS |
27d54f3d | 25 | ${AliRoot_SOURCE_DIR}/HLT/BASE |
427d561c | 26 | ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase |
27 | ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec | |
28 | ${AliRoot_SOURCE_DIR}/STEER/CDB | |
29 | ${AliRoot_SOURCE_DIR}/STEER/ESD | |
30 | ${AliRoot_SOURCE_DIR}/STEER/STEERBase | |
e9e48ff1 | 31 | ${CMAKE_BINARY_DIR}/version/ |
32 | ) | |
33 | ||
34 | # Sources - alphabetical order | |
35 | set(SRCS | |
36 | AliAlignmentTracks.cxx | |
37 | AliAlignObj.cxx | |
38 | AliAlignObjMatrix.cxx | |
39 | AliAlignObjParams.cxx | |
40 | AliBaseLoader.cxx | |
41 | AliCentralTrigger.cxx | |
42 | AliCluster3D.cxx | |
43 | AliCluster.cxx | |
44 | AliConfig.cxx | |
45 | AliCorrQAChecker.cxx | |
46 | AliCorrQADataMakerRec.cxx | |
47 | AliCTPInputTimeParams.cxx | |
48 | AliCTPRawData.cxx | |
49 | AliCTPRawStream.cxx | |
50 | AliCTPTimeParams.cxx | |
51 | AliDataLoader.cxx | |
52 | AliDCSArray.cxx | |
53 | AliDebugVolume.cxx | |
54 | AliDetector.cxx | |
55 | AliDetectorRecoParam.cxx | |
56 | AliDigit.cxx | |
57 | AliDigitizationInput.cxx | |
58 | AliDigitizer.cxx | |
59 | AliDigitNew.cxx | |
60 | AliESDTagCreator.cxx | |
61 | AliEventInfo.cxx | |
62 | AliFstream.cxx | |
63 | AliGausCorr.cxx | |
64 | AliGenerator.cxx | |
65 | AliGeometry.cxx | |
66 | AliGeomManager.cxx | |
67 | AliGlobalQAChecker.cxx | |
68 | AliGlobalQADataMaker.cxx | |
69 | AliGRPManager.cxx | |
70 | AliGRPObject.cxx | |
71 | AliGRPPreprocessor.cxx | |
72 | AliGRPRecoParam.cxx | |
73 | AliHelix.cxx | |
74 | AliHit.cxx | |
75 | AliHitMap.cxx | |
27d54f3d | 76 | AliHLTSimulation.cxx |
e9e48ff1 | 77 | AliHLTTestInputHandler.cxx |
78 | AliKink.cxx | |
79 | AliLego.cxx | |
80 | AliLegoGenerator.cxx | |
81 | AliLegoGeneratorEta.cxx | |
82 | AliLegoGeneratorEtaR.cxx | |
83 | AliLegoGeneratorPhiZ.cxx | |
84 | AliLegoGeneratorXYZ.cxx | |
85 | AliLHCClockPhase.cxx | |
86 | AliLHCData.cxx | |
87 | AliLHCDipValT.cxx | |
88 | AliLHCReader.cxx | |
89 | AliLoader.cxx | |
90 | AliLTUConfig.cxx | |
91 | AliMatrixSparse.cxx | |
92 | AliMatrixSq.cxx | |
93 | AliMC.cxx | |
94 | AliMCGenHandler.cxx | |
95 | AliMergeCombi.cxx | |
96 | AliMillePede2.cxx | |
97 | AliMillepede.cxx | |
98 | AliMillePedeRecord.cxx | |
99 | AliMinResSolve.cxx | |
100 | AliMisAligner.cxx | |
101 | AliModule.cxx | |
102 | AliObjectLoader.cxx | |
103 | AliParamList.cxx | |
104 | AliParamSolver.cxx | |
105 | AliPlaneEff.cxx | |
106 | AliQACheckerBase.cxx | |
107 | AliQAChecker.cxx | |
108 | AliQADataMaker.cxx | |
109 | AliQADataMakerRec.cxx | |
110 | AliQADataMakerSim.cxx | |
111 | AliQAManager.cxx | |
112 | AliQAThresholds.cxx | |
113 | AliQAv1.cxx | |
114 | AliRecoInputHandler.cxx | |
115 | AliReconstruction.cxx | |
116 | AliReconstructor.cxx | |
117 | AliRecoParam.cxx | |
118 | AliRecPoint.cxx | |
119 | AliRectMatrix.cxx | |
120 | AliRelAlignerKalman.cxx | |
121 | AliRieman.cxx | |
122 | AliRndm.cxx | |
123 | AliRun.cxx | |
124 | AliRunInfo.cxx | |
125 | AliRunLoader.cxx | |
126 | AliSelectorRL.cxx | |
127 | AliSignalProcesor.cxx | |
128 | AliSimulation.cxx | |
129 | AliStream.cxx | |
130 | AliSurveyObj.cxx | |
131 | AliSurveyPoint.cxx | |
132 | AliSurveyToAlignObjs.cxx | |
133 | AliSymBDMatrix.cxx | |
134 | AliSymMatrix.cxx | |
135 | AliTracker.cxx | |
136 | AliTrackFitter.cxx | |
137 | AliTrackFitterKalman.cxx | |
138 | AliTrackFitterRieman.cxx | |
139 | AliTrackFitterStraight.cxx | |
140 | AliTrackleter.cxx | |
141 | AliTrackResidualsChi2.cxx | |
142 | AliTrackResiduals.cxx | |
143 | AliTrackResidualsFast.cxx | |
144 | AliTrackResidualsLinear.cxx | |
145 | AliTransportMonitor.cxx | |
146 | AliTreeLoader.cxx | |
147 | AliTriggerDetector.cxx | |
148 | AliTriggerRunScalers.cxx | |
149 | AliTriggerUtils.cxx | |
150 | AliV0.cxx | |
151 | AliVectorSparse.cxx | |
152 | AliVertexer.cxx | |
153 | AliVertexGenerator.cxx | |
154 | AliVertexGenFile.cxx | |
155 | ) | |
156 | ||
157 | # Headers from sources | |
158 | string(REPLACE ".cxx" ".h" HDRS "${SRCS}") | |
159 | ||
160 | # Generate the dictionary | |
161 | # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument | |
162 | get_directory_property(incdirs INCLUDE_DIRECTORIES) | |
163 | generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") | |
164 | ||
9cfdd3fd | 165 | set(ROOT_DEPENDENCIES Core EG GenVector GeomPainter Geom Gpad Graf Hist MathCore Matrix Minuit Net Physics Proof RIO Tree VMC) |
166 | set(ALIROOT_DEPENDENCIES STEERBase RAWDatabase RAWDatarec CDB ESD ANALYSIS HLTbase) | |
167 | ||
0224bae4 | 168 | # Generate the ROOT map |
169 | # Dependecies | |
9cfdd3fd | 170 | set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) |
0224bae4 | 171 | generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") |
172 | ||
27d54f3d | 173 | set(LIBHLTSIM_VERSION "1") |
174 | add_definitions("-DLIBHLTSIM_VERSION=${LIBHLTSIM_VERSION}") | |
0224bae4 | 175 | |
f82bfa66 | 176 | # Create an object to be reused in case of static libraries |
177 | # Otherwise the sources will be compiled twice | |
139cbc46 | 178 | add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) |
179 | # Dependencies for the object | |
180 | add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) | |
f82bfa66 | 181 | # Add a library to the project using the object |
139cbc46 | 182 | add_library(${MODULE} SHARED $<TARGET_OBJECTS:STEER-object>) |
e9e48ff1 | 183 | |
9cfdd3fd | 184 | target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) |
e9e48ff1 | 185 | |
6929fcdd | 186 | # Public include folders that will be propagated to the dependecies |
187 | target_include_directories(${MODULE} PUBLIC ${incdirs}) | |
188 | ||
189 | # Additional compilation flags | |
190 | set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g") | |
191 | ||
e9e48ff1 | 192 | # System dependent: Modify the way the library is build |
193 | if(${CMAKE_SYSTEM} MATCHES Darwin) | |
194 | set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") | |
195 | endif(${CMAKE_SYSTEM} MATCHES Darwin) | |
196 | ||
197 | # Installation | |
198 | install(TARGETS ${MODULE} | |
199 | ARCHIVE DESTINATION lib | |
200 | LIBRARY DESTINATION lib) | |
201 | install(FILES ${HDRS} DESTINATION include) | |
f82bfa66 | 202 | |
203 | # Static version if DA enabled | |
204 | if(ALIROOT_STATIC) | |
205 | add_library(${MODULE}-static STATIC $<TARGET_OBJECTS:STEER-object>) | |
206 | set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE}) | |
9cfdd3fd | 207 | |
208 | # list of shared dependencies / the name of the variable containing the list of static ones | |
209 | generate_static_dependencies("${ALIROOT_DEPENDENCIES}" "STATIC_ALIROOT_DEPENDENCIES") | |
9cfdd3fd | 210 | target_link_libraries(${MODULE}-static ${STATIC_ALIROOT_DEPENDENCIES} Root RootExtra) |
d1d7d34a | 211 | |
212 | # Public include folders that will be propagated to the dependecies | |
213 | target_include_directories(${MODULE}-static PUBLIC ${incdirs}) | |
214 | ||
f82bfa66 | 215 | set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive") |
216 | ||
217 | # Installation | |
218 | install(TARGETS ${MODULE}-static | |
219 | ARCHIVE DESTINATION lib | |
220 | LIBRARY DESTINATION lib) | |
221 | endif(ALIROOT_STATIC) |