]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/CMakeLists.txt
HLTbase module
[u/mrichter/AliRoot.git] / HLT / BASE / 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 HLTbase)
18
19 # Module include folder
20 include_directories(${CMAKE_SOURCE_DIR}/HLT/BASE
21                     ${CMAKE_SOURCE_DIR}/HLT/BASE/HOMER
22                    )
23
24 # Additional include folders in alphabetical order except ROOT
25 include_directories(${ROOT_INCLUDE_DIRS}
26                     ${CMAKE_SOURCE_DIR}/RAW/RAWDatabase
27                    )
28
29 # Sources in alphabetical order
30 set(SRCS
31     AliHLTBlockDataCollection.cxx
32     AliHLTCalibrationProcessor.cxx
33     AliHLT_C_Component_WrapperInterface.cxx
34     AliHLT_C_Component_WrapperInterface.cxx
35     AliHLTComponentBenchmark.cxx
36     AliHLTComponentConfiguration.cxx
37     AliHLTComponent.cxx
38     AliHLTComponentHandler.cxx
39     AliHLTConfiguration.cxx
40     AliHLTConfigurationHandler.cxx
41     AliHLTConsumerDescriptor.cxx
42     AliHLTControlTask.cxx
43     AliHLTCTPData.cxx
44     AliHLTDAQ.cxx
45     AliHLTDataBuffer.cxx
46     AliHLTDataDeflater.cxx
47     AliHLTDataDeflaterHuffman.cxx
48     AliHLTDataDeflaterSimple.cxx
49     AliHLTDataInflater.cxx
50     AliHLTDataInflaterHuffman.cxx
51     AliHLTDataInflaterSimple.cxx
52     AliHLTDataSink.cxx
53     AliHLTDataSource.cxx
54     AliHLTDataTypes.cxx
55     AliHLTDataTypes.cxx
56     AliHLTDimServer.cxx
57     AliHLTDomainEntry.cxx
58     AliHLTDumpTask.cxx
59     AliHLTErrorGuard.cxx
60     AliHLTEsdManager.cxx
61     AliHLTEventStatistics.cxx
62     AliHLTGlobalTriggerDecision.cxx
63     AliHLTHOMERBlockDesc.cxx
64     AliHLTHOMERLibManager.cxx
65     AliHLTHOMERManager.cxx
66     AliHLTHOMERProxyHandler.cxx
67     AliHLTHOMERSourceDesc.cxx
68     AliHLTHuffman.cxx
69     AliHLTLogging.cxx
70     AliHLTMemoryFile.cxx
71     AliHLTMessage.cxx
72     AliHLTMisc.cxx
73     AliHLTModuleAgent.cxx
74     AliHLTModulePreprocessor.cxx
75     AliHLTOfflineDataSource.cxx
76     AliHLTOfflineInterface.cxx
77     AliHLTOnlineConfiguration.cxx
78     AliHLTOUT.cxx
79     AliHLTOUTHandlerChain.cxx
80     AliHLTOUTHandlerDetectorDDL.cxx
81     AliHLTOUTHandlerEquId.cxx
82     AliHLTOUTHandlerEsdBranch.cxx
83     AliHLTOUTHandler.cxx
84     AliHLTOUTHandlerIgnore.cxx
85     AliHLTOUTHomerBuffer.cxx
86     AliHLTOUTTask.cxx
87     AliHLTPluginBase.cxx
88     AliHLTProcessor.cxx
89     AliHLTReadoutList.cxx
90     AliHLTReconstructorBase.cxx
91     AliHLTRunStatistics.cxx
92     AliHLTScalars.cxx
93     AliHLTShuttleInterface.cxx
94     AliHLTSpacePointContainer.cxx
95
96     AliHLTSystem.cxx
97     AliHLTTask.cxx
98     AliHLTTrackGeometry.cxx
99     AliHLTTriggerDecision.cxx
100     AliHLTTriggerDomain.cxx
101     AliHLTTriggerMenu.cxx
102     AliHLTTriggerMenuItem.cxx
103     AliHLTTriggerMenuSymbol.cxx
104     AliHLTTTreeProcessor.cxx
105    )
106
107 # Headers from sources
108 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
109 set(HDRS ${HDRS}
110     AliHLTCommonCDBEntries.h
111     AliHLTDefinitions.h
112     AliHLTExternalTrackParam.h
113     AliHLTLoggingVariadicFree.h
114     AliHLTStdIncludes.h
115    )
116
117 # Generate the dictionary
118 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
119 get_directory_property(incdirs INCLUDE_DIRECTORIES)
120 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
121
122 # Generate the ROOT map
123 # Dependecies
124 set(LIBDEPS RAWDatabase AliHLTHOMER)
125 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
126
127 # Add a library to the project using the specified source files
128 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
129
130 # Additional compilation flags
131 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
132
133 # System dependent: Modify the way the library is build
134 if(${CMAKE_SYSTEM} MATCHES Darwin)
135     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
136 endif(${CMAKE_SYSTEM} MATCHES Darwin)
137
138 # Installation
139 install(TARGETS ${MODULE}
140         ARCHIVE DESTINATION lib
141         LIBRARY DESTINATION lib)
142
143 install(FILES ${HDRS} DESTINATION include)