Fixes for object target dependencies
[u/mrichter/AliRoot.git] / HLT / CALO / CMakeLists.txt
CommitLineData
116e4267 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 AliHLTCalo)
18
19# Module include folder
b5a0ad8b 20include_directories(${AliRoot_SOURCE_DIR}/HLT/CALO
21 ${AliRoot_SOURCE_DIR}/HLT/CALO/offline
116e4267 22 )
23
aff16a25 24# Additional include folders in alphabetical order
f4267c29 25include_directories(${AliRoot_SOURCE_DIR}/EMCAL/EMCALbase
26 ${AliRoot_SOURCE_DIR}/EMCAL/EMCALraw
b5a0ad8b 27 ${AliRoot_SOURCE_DIR}/EMCAL/EMCALUtils
28 ${AliRoot_SOURCE_DIR}/HLT/BASE
29 ${AliRoot_SOURCE_DIR}/HLT/BASE/util
30 ${AliRoot_SOURCE_DIR}/HLT/EMCAL
31 ${AliRoot_SOURCE_DIR}/HLT/PHOS
32 ${AliRoot_SOURCE_DIR}/HLT/TPCLib
f4267c29 33 ${AliRoot_SOURCE_DIR}/PHOS/PHOSbase
34 ${AliRoot_SOURCE_DIR}/PHOS/PHOSUtils
b5a0ad8b 35 ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase
36 ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec
37 ${AliRoot_SOURCE_DIR}/STEER/CDB
38 ${AliRoot_SOURCE_DIR}/STEER/ESD
39 ${AliRoot_SOURCE_DIR}/STEER/STEER
40 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
116e4267 41 )
42
43# Sources in alphabetical order
44set(SRCS
45 AliHLTCaloClusterAnalyser.cxx
46 AliHLTCaloClusterizerComponent.cxx
47 AliHLTCaloClusterizer.cxx
48 AliHLTCaloClusterizerNbyN.cxx
49 AliHLTCaloConstants.cxx
50 AliHLTCaloConstantsHandler.cxx
51 AliHLTCaloDefinitions.cxx
52 AliHLTCaloDigitMaker.cxx
53 AliHLTCaloFourier.cxx
54 AliHLTCaloGeometry.cxx
55 AliHLTCaloMapper.cxx
56 AliHLTCaloProcessor.cxx
57 AliHLTCaloRawAnalyzerComponentv3.cxx
58 AliHLTCaloRecoParamHandler.cxx
59 AliHLTCaloSanityInspector.cxx
60 AliHLTCaloSharedMemoryInterfacev2.cxx
f4267c29 61 AliHLTEMCALDefinitions.cxx
62 AliHLTEMCALGeometry.cxx
116e4267 63 AliHLTCaloUtilities.cxx
f4267c29 64 AliHLTPHOSDefinitions.cxx
65 AliHLTPHOSGeometry.cxx
116e4267 66 offline/AliHLTCaloDigitHandler.cxx
67 offline/AliHLTCaloDigitPublisherComponent.cxx
f4267c29 68 offline/AliHLTEMCALDigitHandler.cxx
69 offline/AliHLTPHOSDigitHandler.cxx
116e4267 70 )
71
72# Headers from sources
73string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
74set(HDRS ${HDRS}
75 AliHLTCaloDigitContainerDataStruct.h
76 AliHLTCaloRecPointDataStruct.h
77 AliHLTCaloRecPointContainerStruct.h
78 AliHLTCaloRecPointHeaderStruct.h
79)
80
81# Generate the dictionary
82# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
83get_directory_property(incdirs INCLUDE_DIRECTORIES)
84generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
85
86# Generate the ROOT map
87# Dependecies
f4267c29 88set(LIBDEPS STEERBase STEER CDB RAWDatabase RAWDatarec HLTbase AliHLTTPC AliHLTEMCAL AliHLTPHOS EMCALbase EMCALUtils EMCALraw PHOSbase PHOSUtils)
116e4267 89generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
90
91# Add a library to the project using the specified source files
92add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
f4267c29 93target_link_libraries(${MODULE} STEERBase STEER CDB RAWDatabase RAWDatarec HLTbase AliHLTTPC EMCALUtils EMCALraw EMCALbase PHOSbase PHOSUtils)
116e4267 94
95# Additional compilation flags
68aeb13b 96set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
116e4267 97
98# System dependent: Modify the way the library is build
99if(${CMAKE_SYSTEM} MATCHES Darwin)
100 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
101endif(${CMAKE_SYSTEM} MATCHES Darwin)
102
103# Installation
104install(TARGETS ${MODULE}
105 ARCHIVE DESTINATION lib
106 LIBRARY DESTINATION lib)
107
108install(FILES ${HDRS} DESTINATION include)