CMake: same deps for linked libs and rootmaps
[u/mrichter/AliRoot.git] / HLT / global / 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 AliHLTGlobal)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/HLT/global
21                     ${AliRoot_SOURCE_DIR}/HLT/global/physics
22                    )
23
24 # Additional include folders in alphabetical order except ROOT
25 include_directories(${ROOT_INCLUDE_DIRS}
26                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSISalice
27                     ${AliRoot_SOURCE_DIR}/ITS/ITSrec
28                     ${AliRoot_SOURCE_DIR}/HLT/BASE
29                     ${AliRoot_SOURCE_DIR}/HLT/BASE/util
30                     ${AliRoot_SOURCE_DIR}/HLT/ITS
31                     ${AliRoot_SOURCE_DIR}/HLT/TPCLib
32                     ${AliRoot_SOURCE_DIR}/ITS/ITSbase
33                     ${AliRoot_SOURCE_DIR}/STEER/CDB
34                     ${AliRoot_SOURCE_DIR}/STEER/ESD
35                     ${AliRoot_SOURCE_DIR}/STEER/STEER
36                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
37                     ${AliRoot_SOURCE_DIR}/TPC/TPCbase
38                     ${AliRoot_SOURCE_DIR}/TPC/TPCrec
39                     ${AliRoot_SOURCE_DIR}/TPC/TPCcalib
40                    )
41
42 # Sources in alphabetical order
43 set(SRCS
44     AliHLTGlobalAgent.cxx
45     AliHLTGlobalDCSPublisherComponent.cxx
46     AliHLTGlobalEsdConverterComponent.cxx
47     AliHLTGlobalHistoCollector.cxx
48     AliHLTGlobalHistoComponent.cxx
49     AliHLTGlobalOfflineVertexerComponent.cxx
50     AliHLTGlobalPreprocessor.cxx
51     AliHLTGlobalTrackMatcherComponent.cxx
52     AliHLTGlobalTrackMatcher.cxx
53     AliHLTGlobalTrackMergerComponent.cxx
54     AliHLTGlobalTrackMerger.cxx
55     AliHLTGlobalVertexerComponent.cxx
56     AliHLTGlobalVertexerHistoComponent.cxx
57     AliHLTPrimaryVertexFinderComponent.cxx
58     AliHLTV0FinderComponent.cxx
59     AliHLTVertexFinderBase.cxx
60     AliHLTGlobalCompareFlatComponent.cxx
61     AliHLTGlobalFlatEsdConverterComponent.cxx
62     AliFlatESDFriendTrack.cxx
63     AliFlatTPCseed.cxx
64     AliFlatESDEvent.cxx
65     AliHLTGlobalEsdToFlatConverterComponent.cxx
66     AliFlatESDFriend.cxx
67     AliFlatESDTrack.cxx
68     AliHLTGlobalFlatEsdTestComponent.cxx
69     physics/AliHLTCaloHistoCellEnergy.cxx
70     physics/AliHLTCaloHistoClusterEnergy.cxx
71     physics/AliHLTCaloHistoComponent.cxx
72     physics/AliHLTCaloHistoInvMass.cxx
73     physics/AliHLTCaloHistoMatchedTracks.cxx
74     physics/AliHLTCaloHistoProducer.cxx
75     physics/AliHLTMultiplicityCorrelationsComponent.cxx
76     physics/AliHLTMultiplicityCorrelations.cxx
77     physics/AliHLTV0HistoComponent.cxx
78     physics/AliHLTFlatAnaManagerComponent.cxx
79     physics/AliHLTAnaManagerComponent.cxx
80    )
81
82 # Headers from sources
83 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
84
85 # Generate the dictionary
86 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
87 get_directory_property(incdirs INCLUDE_DIRECTORIES)
88 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
89
90 # Generate the ROOT map
91 # Dependecies
92 set(LIBDEPS STEERBase STEER ESD CDB ANALYSISalice HLTbase AliHLTUtil AliHLTITS AliHLTTPC TPCrec ITSbase ITSrec TPCcalib)
93 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
94
95 # Add a library to the project using the specified source files
96 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
97 target_link_libraries(${MODULE} ${LIBDEPS})
98
99 # Additional compilation flags
100 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
101
102 # System dependent: Modify the way the library is build
103 if(${CMAKE_SYSTEM} MATCHES Darwin)
104     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
105 endif(${CMAKE_SYSTEM} MATCHES Darwin)
106
107 # Installation
108 install(TARGETS ${MODULE}
109         ARCHIVE DESTINATION lib
110         LIBRARY DESTINATION lib)
111
112 install(FILES ${HDRS} DESTINATION include)