Switching from CMAKE_SOURCE_DIR to AliRoot_SOURCE_DIR
[u/mrichter/AliRoot.git] / STEER / STEERBase / 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 #Module
17 set (MODULE STEERBase)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/STEER/${MODULE})
21
22 # Additional includes - alphabetical order except ROOT
23 include_directories(${ROOT_INCLUDE_DIRS})
24
25 # Sources - alphabetical order
26 set(SRCS
27     AliCentrality.cxx
28     AliCheb3DCalc.cxx
29     AliCheb3D.cxx
30     AliCodeTimer.cx 
31     AliCollisionGeometry.cxx
32     AliCounterCollection.cxx
33     AliDAQ.cxx
34     AliDetectorEventHeader.cxx
35     AliDetectorPID.cxx
36     AliDetectorTagCuts.cxx
37     AliDetectorTag.cxx
38     AliDummyHandler.cxx
39     AliEMCALPIDResponse.cxx
40     AliEventplane.cxx
41     AliEventTagCuts.cxx
42     AliEventTag.cxx
43     AliExternalTrackParam.cxx
44     AliFileTag.cxx
45     AliGenCocktailEventHeader.cxx
46     AliGenDPMjetEventHeader.cxx
47     AliGenEposEventHeader.cxx
48     AliGenEventHeader.cxx
49     AliGenEventHeaderTunedPbPb.cxx
50     AliGenGeVSimEventHeader.cxx
51     AliGenHepMCEventHeader.cxx
52     AliGenHerwigEventHeader.cxx
53     AliGenHijingEventHeader.cxx
54     AliGenPythiaEventHeader.cxx
55     AliHeader.cxx
56     AliHMPIDPIDParams.cxx
57     AliHMPIDPIDResponse.cxx
58     AliInputEventHandler.cxx
59     AliITSPidParams.cxx
60     AliITSPIDResponse.cxx
61     AliLHCTagCuts.cxx
62     AliLHCTag.cxx
63     AliLog.cxx
64     AliMagF.cxx
65     AliMagWrapCheb.cxx
66     AliMathBase.cxx
67     AliMCEvent.cxx
68     AliMCEventHandler.cxx
69     AliMCParticle.cxx
70     AliMCVertex.cxx
71     AliMergeableCollection.cxx
72     AliMixedEvent.cxx
73     AliNeutralTrackParam.cxx
74     AliOADBContainer.cxx
75     AliPDG.cxx
76     AliPIDCombined.cxx
77     AliPID.cxx
78     AliPIDResponse.cxx
79     AliPIDValues.cxx
80     AliProdInfo.cxx
81     AliQA.cxx
82     AliRefArray.cxx
83     AliRunTagCuts.cxx
84     AliRunTag.cxx
85     AliStack.cxx
86     AliSysInfo.cxx
87     AliTagCreator.cxx
88     AliTimeStamp.cxx
89     AliTOFHeader.cxx
90     AliTOFPIDParams.cxx
91     AliTOFPIDResponse.cxx
92     AliTOFTriggerMask.cxx
93     AliTPCdEdxInfo.cxx
94     AliTPCPIDResponse.cxx
95     AliTrackReference.cxx
96     AliTRDdEdxParams.cxx
97     AliTRDNDFast.cxx
98     AliTRDPIDParams.cxx
99     AliTRDPIDReference.cxx
100     AliTRDPIDResponse.cxx
101     AliTRDPIDResponseObject.cxx
102     AliTRDTKDInterpolator.cxx
103     AliTriggerScalers.cxx
104     AliTriggerScalersRecord.cxx
105     AliVAODHeader.cxx
106     AliVCaloCells.cxx
107     AliVCaloTrigger.cxx
108     AliVCluster.cxx
109     AliVCuts.cxx
110     AliVEvent.cxx
111     AliVEventHandler.cxx
112     AliVEventPool.cxx
113     AliVfriendEvent.cxx
114     AliVfriendTrack.cxx
115     AliVHeader.cxx
116     AliVMFT.cxx
117     AliVMisc.cxx
118     AliVMultiplicity.cxx
119     AliVParticle.cxx
120     AliVTOFcluster.cxx
121     AliVTOFHit.cxx
122     AliVTOFMatch.cxx
123     AliVTrack.cxx
124     AliVTrdTrack.cxx
125     AliVTrdTracklet.cxx
126     AliVVertex.cxx
127     AliVVZERO.cxx
128     AliVZDC.cxx
129     TTreeStream.cxx
130    )
131
132 # Headers from sources
133 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
134
135 # Generate the dictionary
136 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
137 get_directory_property(incdirs INCLUDE_DIRECTORIES)
138 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
139
140 # Add a library to the project using the specified source files
141 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
142
143 # Generate the ROOT map
144 # Dependecies
145 set(LIBDEPS Core EG Geom Hist MathCore Matrix Physics RIO Tree VMC)
146 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
147
148 # Additional compilation flags
149 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
150
151 # System dependent: Modify the way the library is build
152 if(${CMAKE_SYSTEM} MATCHES Darwin)
153     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
154 endif(${CMAKE_SYSTEM} MATCHES Darwin)
155
156 # Installation
157 install(TARGETS ${MODULE} 
158   ARCHIVE DESTINATION lib
159   LIBRARY DESTINATION lib)
160 install(FILES ${HDRS} DESTINATION include)