Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / CALO / 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 AliHLTCalo)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/HLT/CALO
21                     ${AliRoot_SOURCE_DIR}/HLT/CALO/offline
22                    )
23
24 # Additional include folders in alphabetical order
25 include_directories(${AliRoot_SOURCE_DIR}/EMCAL/EMCALbase
26                     ${AliRoot_SOURCE_DIR}/EMCAL/EMCALraw
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
33                     ${AliRoot_SOURCE_DIR}/PHOS/PHOSbase
34                     ${AliRoot_SOURCE_DIR}/PHOS/PHOSUtils
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
41                    )
42
43 # Sources in alphabetical order
44 set(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
61     AliHLTEMCALDefinitions.cxx
62     AliHLTEMCALGeometry.cxx
63     AliHLTCaloUtilities.cxx
64     AliHLTPHOSDefinitions.cxx
65     AliHLTPHOSGeometry.cxx
66     offline/AliHLTCaloDigitHandler.cxx
67     offline/AliHLTCaloDigitPublisherComponent.cxx
68     offline/AliHLTEMCALDigitHandler.cxx
69     offline/AliHLTPHOSDigitHandler.cxx
70    )
71
72 # Headers from sources
73 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
74 set(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
83 get_directory_property(incdirs INCLUDE_DIRECTORIES)
84 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
85
86 # Generate the ROOT map
87 # Dependecies
88 set(LIBDEPS STEERBase STEER CDB RAWDatabase RAWDatarec HLTbase AliHLTTPC EMCALbase EMCALUtils EMCALraw PHOSbase PHOSUtils)
89 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
90
91 # Add a library to the project using the specified source files
92 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
93 target_link_libraries(${MODULE} ${LIBDEPS})
94
95 # Additional compilation flags
96 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
97
98 # System dependent: Modify the way the library is build
99 if(${CMAKE_SYSTEM} MATCHES Darwin)
100     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
101 endif(${CMAKE_SYSTEM} MATCHES Darwin)
102
103 # Installation
104 install(TARGETS ${MODULE}
105         ARCHIVE DESTINATION lib
106         LIBRARY DESTINATION lib)
107
108 install(FILES ${HDRS} DESTINATION include)