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