TPC module
[u/mrichter/AliRoot.git] / TPC / TPCbase / 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 TPCbase)
18
19 # Module include folder
20 include_directories(${CMAKE_SOURCE_DIR}/TPC/${MODULE})
21
22 # Additional include folders in alphabetical order except ROOT
23 include_directories(${ROOT_INCLUDE_DIRS} 
24                     ${CMAKE_SOURCE_DIR}/RAW/RAWDatabase
25                     ${CMAKE_SOURCE_DIR}/RAW/RAWDatarec
26                     ${CMAKE_SOURCE_DIR}/RAW/dateStream
27                     ${CMAKE_SOURCE_DIR}/STEER/CDB
28                     ${CMAKE_SOURCE_DIR}/STEER/ESD
29                     ${CMAKE_SOURCE_DIR}/STEER/STEER
30                     ${CMAKE_SOURCE_DIR}/STEER/STEERBase
31                     ${CMAKE_SOURCE_DIR}/TPC/TPCrec
32                     ${CMAKE_BINARY_DIR}/version
33                    )
34
35 # Sources in alphabetical order
36 set(SRCS
37     AliDetectorParam.cxx
38     AliDigitsArray.cxx
39     AliDigits.cxx
40     AliH2F.cxx
41     AliSegmentArray.cxx
42     AliSegmentID.cxx
43     AliSimDigits.cxx
44     AliTPCAltroMapping.cxx
45     AliTPCBoundaryVoltError.cxx
46     AliTPCCalibCE.cxx
47     AliTPCcalibDB.cxx
48     AliTPCcalibDButil.cxx
49     AliTPCCalibGlobalMisalignment.cxx
50     AliTPCCalibPedestal.cxx
51     AliTPCCalibPulser.cxx
52     AliTPCCalibRawBase.cxx
53     AliTPCCalibRaw.cxx
54     AliTPCCalibVdrift.cxx
55     AliTPCCalibViewer.cxx
56     AliTPCCalibViewerGUI.cxx
57     AliTPCCalibViewerGUItime.cxx
58     AliTPCCalPad.cxx
59     AliTPCCalROC.cxx
60     AliTPCComposedCorrection.cxx
61     AliTPCConfigDA.cxx
62     AliTPCConfigParser.cxx
63     AliTPCCorrection.cxx
64     AliTPCCorrectionDrift.cxx
65     AliTPCCorrectionLookupTable.cxx
66     AliTPCdataQA.cxx
67     AliTPCDigitsArray.cxx
68     AliTPCExBBShape.cxx
69     AliTPCExB.cxx
70     AliTPCExBEffective.cxx
71     AliTPCExBEffectiveSector.cxx
72     AliTPCExBExact.cxx
73     AliTPCExBFirst.cxx
74     AliTPCExBTwist.cxx
75     AliTPCFCVoltError3D.cxx
76     AliTPCGGVoltError.cxx
77     AliTPCInverseCorrection.cxx
78     AliTPCLaserTrack.cxx
79     AliTPCLoader.cxx
80     AliTPCmapper.cxx
81     AliTPCParam.cxx
82     AliTPCParamSR.cxx
83     AliTPCPointCorrection.cxx
84     AliTPCPreprocessor.cxx
85     AliTPCPreprocessorOnline.cxx
86     AliTPCPRF2D.cxx
87     AliTPCQAChecker.cxx
88     AliTPCRawStreamV3.cxx
89     AliTPCRF1D.cxx
90     AliTPCROC.cxx
91     AliTPCROCVoltError3D.cxx
92     AliTPCSensorTempArray.cxx
93     AliTPCSensorTemp.cxx
94     AliTPCSpaceCharge3D.cxx
95     AliTPCSpaceCharge.cxx
96     AliTPCTempMap.cxx
97     AliTPCTransform.cxx
98     AliTransform.cxx
99     AliXRDPROOFtoolkit.cxx
100    )
101
102 # Headers from sources
103 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
104
105 # Generate the dictionary
106 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
107 get_directory_property(incdirs INCLUDE_DIRECTORIES)
108 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
109
110 # Generate the ROOT map
111 # Dependecies
112 set(LIBDEPS STEERBase STEER CDB ESD RAWDatabase RAWDatarec TPCrec Minuit Gui)
113 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
114
115
116 # Add a library to the project using the specified source files
117 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
118
119 # Additional compilation flags
120 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
121
122 # System dependent: Modify the way the library is build
123 if(${CMAKE_SYSTEM} MATCHES Darwin)
124     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
125 endif(${CMAKE_SYSTEM} MATCHES Darwin)
126
127 # Installation
128 install(TARGETS ${MODULE}
129         ARCHIVE DESTINATION lib
130         LIBRARY DESTINATION lib)
131
132 install(FILES ${HDRS} DESTINATION include)