Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / MUON / CMakeLists.txt
CommitLineData
aaa51f96 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
17set(MODULE AliHLTMUON)
18
19# Module include folder
b5a0ad8b 20include_directories(${AliRoot_SOURCE_DIR}/HLT/MUON
21 ${AliRoot_SOURCE_DIR}/HLT/MUON/OnlineAnalysis
22 ${AliRoot_SOURCE_DIR}/HLT/MUON/utils
aaa51f96 23 )
24
25# Additional include folders in alphabetical order except ROOT
f0315837 26include_directories(${ROOT_INCLUDE_DIR}
b5a0ad8b 27 ${AliRoot_SOURCE_DIR}/HLT/BASE
28 ${AliRoot_SOURCE_DIR}/MUON/MUONbase
29 ${AliRoot_SOURCE_DIR}/MUON/MUONcalib
30 ${AliRoot_SOURCE_DIR}/MUON/MUONcore
31 ${AliRoot_SOURCE_DIR}/MUON//MUONevaluation
32 ${AliRoot_SOURCE_DIR}/MUON//MUONgeometry
33 ${AliRoot_SOURCE_DIR}/MUON/MUONmapping
34 ${AliRoot_SOURCE_DIR}/MUON/MUONraw
35 ${AliRoot_SOURCE_DIR}/MUON/MUONrec
36 ${AliRoot_SOURCE_DIR}/MUON/MUONsim
37 ${AliRoot_SOURCE_DIR}/MUON/MUONtrigger
38 ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase
39 ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec
40 ${AliRoot_SOURCE_DIR}/RAW/RAWDatasim
41 ${AliRoot_SOURCE_DIR}/STEER/CDB
42 ${AliRoot_SOURCE_DIR}/STEER/ESD
43 ${AliRoot_SOURCE_DIR}/STEER/STEER
44 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
aaa51f96 45 )
46
47# Sources in alphabetical order
48set(SRCS
49 AliHLTMUONChannelsBlockStruct.cxx
50 AliHLTMUONClustersBlockStruct.cxx
51 AliHLTMUONConstants.cxx
52 AliHLTMUONDecision.cxx
53 AliHLTMUONEvent.cxx
54 AliHLTMUONMansoCandidatesBlockStruct.cxx
55 AliHLTMUONMansoTrack.cxx
56 AliHLTMUONMansoTracksBlockStruct.cxx
57 AliHLTMUONPairsDecisionBlockStruct.cxx
58 AliHLTMUONProcessor.cxx
59 AliHLTMUONRecHit.cxx
60 AliHLTMUONRecHitsBlockStruct.cxx
61 AliHLTMUONSinglesDecisionBlockStruct.cxx
62 AliHLTMUONTrack.cxx
63 AliHLTMUONTracksBlockStruct.cxx
64 AliHLTMUONTriggerRecord.cxx
65 AliHLTMUONTriggerRecordsBlockStruct.cxx
66 AliHLTMUONTrigRecsDebugBlockStruct.cxx
67 AliHLTMUONUtils.cxx
68 OfflineInterface/AliHLTMUONAgent.cxx
69 OfflineInterface/AliHLTMUONDigitPublisherComponent.cxx
70 OfflineInterface/AliHLTMUONESDMaker.cxx
71 OfflineInterface/AliHLTMUONRecHitsSource.cxx
72 OfflineInterface/AliHLTMUONRootifierComponent.cxx
73 OfflineInterface/AliHLTMUONTriggerRecordsSource.cxx
74 OnlineAnalysis/AliHLTMUONCalculations.cxx
75 OnlineAnalysis/AliHLTMUONClusterFinderComponent.cxx
76 OnlineAnalysis/AliHLTMUONDecisionComponent.cxx
77 OnlineAnalysis/AliHLTMUONFullTrackerComponent.cxx
78 OnlineAnalysis/AliHLTMUONFullTracker.cxx
79 OnlineAnalysis/AliHLTMUONHitReconstructorComponent.cxx
80 OnlineAnalysis/AliHLTMUONHitReconstructor.cxx
81 OnlineAnalysis/AliHLTMUONMansoTrackerFSMComponent.cxx
82 OnlineAnalysis/AliHLTMUONMansoTrackerFSM.cxx
83 OnlineAnalysis/AliHLTMUONTriggerReconstructorComponent.cxx
84 OnlineAnalysis/AliHLTMUONTriggerReconstructor.cxx
85 utils/AliHLTMUONClusterHistoComponent.cxx
86 utils/AliHLTMUONDataCheckerComponent.cxx
87 utils/AliHLTMUONEmptyEventFilterComponent.cxx
88 utils/AliHLTMUONRawDataHistoComponent.cxx
89 )
90
91# Headers from sources
92string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
93set(HDRS ${HDRS}
94 AliHLTMUONDataBlockReader.h
95 AliHLTMUONDataBlockWriter.h
96 AliHLTMUONDataTypes.h
97 AliHLTMUONList.h
98 AliHLTMUONCountedList.h
99 OnlineAnalysis/AliHLTMUONMansoTrackerFSMCallback.h
100 )
101
102# Generate the dictionary
103# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
104get_directory_property(incdirs INCLUDE_DIRECTORIES)
105generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
106
107# Generate the ROOT map
108# Dependecies
109set(LIBDEPS STEERBase STEER CDB ESD RAWDatabase RAWDatarec RAWDatasim HLTbase MUONraw MUONcore MUONcalib MUONmapping MUONsim MUONevaluation MUONtrigger MUONgeometry MUONrec)
110generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
111
112# Add a library to the project using the specified source files
113add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
d76274fd 114target_link_libraries(${MODULE} ${LIBDEPS})
aaa51f96 115
116# Additional compilation flags
68aeb13b 117set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
aaa51f96 118
119# System dependent: Modify the way the library is build
120if(${CMAKE_SYSTEM} MATCHES Darwin)
121 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
122endif(${CMAKE_SYSTEM} MATCHES Darwin)
123
124# Installation
125install(TARGETS ${MODULE}
126 ARCHIVE DESTINATION lib
127 LIBRARY DESTINATION lib)
128
37883320 129install(FILES ${HDRS} DESTINATION include)
130
131# Compilation of some executables
132add_subdirectory(utils)
133