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