92b5212d1bd7311990f5f1a23fb5dee77d28466f
[u/mrichter/AliRoot.git] / HLT / EVE / 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 AliHLTEve)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/HLT/EVE)
21
22 # Additional include folders in alphabetical order except ROOT
23 include_directories(${ROOT_INCLUDE_DIRS}
24                     ${AliRoot_SOURCE_DIR}/EMCAL/EMCALUtils
25                     ${AliRoot_SOURCE_DIR}/EVE/EveBase
26                     ${AliRoot_SOURCE_DIR}/EVE/EveDet
27                     ${AliRoot_SOURCE_DIR}/EVE/EveHLT
28                     ${AliRoot_SOURCE_DIR}/HLT/BASE
29                     ${AliRoot_SOURCE_DIR}/HLT/BASE/util
30                     ${AliRoot_SOURCE_DIR}/HLT/ITS
31                     ${AliRoot_SOURCE_DIR}/HLT/MUON
32                     ${AliRoot_SOURCE_DIR}/HLT/TPCLib
33                     ${AliRoot_SOURCE_DIR}/HLT/TRD
34                     ${AliRoot_SOURCE_DIR}/ITS/ITSbase
35                     ${AliRoot_SOURCE_DIR}/MUON/MUONbase
36                     ${AliRoot_SOURCE_DIR}/MUON/MUONcore
37                     ${AliRoot_SOURCE_DIR}/MUON/MUONraw
38                     ${AliRoot_SOURCE_DIR}/MUON/MUONrec
39                     ${AliRoot_SOURCE_DIR}/PHOS/PHOSbase
40                     ${AliRoot_SOURCE_DIR}/PHOS/PHOSUtils
41                     ${AliRoot_SOURCE_DIR}/STEER/CDB
42                     ${AliRoot_SOURCE_DIR}/STEER/ESD
43                     ${AliRoot_SOURCE_DIR}/STEER/STEER
44                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
45                     ${AliRoot_SOURCE_DIR}/TRD/TRDrec
46                    )
47
48 # Sources in alphabetical order
49 set(SRCS
50     AliHLTEveAny.cxx
51     AliHLTEveBase.cxx
52     AliHLTEveCalo.cxx
53     AliHLTEveEmcal.cxx
54     AliHLTEveHistoMerger.cxx
55     AliHLTEveHLT.cxx
56     AliHLTEveISDD.cxx
57     AliHLTEveISPD.cxx
58     AliHLTEveISSD.cxx
59     AliHLTEveITS.cxx
60     AliHLTEveMultCorr.cxx
61     AliHLTEveMuon.cxx
62     AliHLTEvePhos.cxx
63     AliHLTEveTPC.cxx
64     AliHLTEveTRD.cxx
65    )
66
67 # Headers from sources
68 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
69
70 # Generate the dictionary
71 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
72 get_directory_property(incdirs INCLUDE_DIRECTORIES)
73 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
74
75 # Generate the ROOT map
76 # Dependecies
77 set(LIBDEPS STEERBase STEER ESD CDB HLTbase AliHLTUtil EveHLT PHOSbase PHOSUtils EMCALUtils EveBase EveDet AliHLTTPC AliHLTMUON AliHLTITS AliHLTTRD ITSbase MUONcore MUONbase MUONraw MUONrec TRDrec)
78 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
79
80 # Add a library to the project using the specified source files
81 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
82 # Remember to add  EveBase EveDet EveHLT 
83 target_link_libraries(${MODULE} STEERBase STEER ESD CDB HLTbase AliHLTUtil PHOSbase PHOSUtils EMCALUtils AliHLTTPC AliHLTMUON AliHLTITS AliHLTTRD ITSbase MUONcore MUONbase MUONraw MUONrec TRDrec)
84
85 # Additional compilation flags
86 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
87
88 # System dependent: Modify the way the library is build
89 if(${CMAKE_SYSTEM} MATCHES Darwin)
90     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
91 endif(${CMAKE_SYSTEM} MATCHES Darwin)
92
93 # Installation
94 install(TARGETS ${MODULE}
95         ARCHIVE DESTINATION lib
96         LIBRARY DESTINATION lib)
97
98 install(FILES ${HDRS} DESTINATION include)