Fixes for object target dependencies
[u/mrichter/AliRoot.git] / EVE / EveBase / 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 EveBase)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/EVE/${MODULE})
21
22 # Additional include folders in alphabetical order
23 include_directories(
24                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS
25                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSISalice
26                     ${AliRoot_SOURCE_DIR}/ITS/ITSbase
27                     ${AliRoot_SOURCE_DIR}/ITS/ITSrec
28                     ${AliRoot_SOURCE_DIR}/MONITOR/alistoragemanager
29                     ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase
30                     ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec
31                     ${AliRoot_SOURCE_DIR}/STEER/AOD
32                     ${AliRoot_SOURCE_DIR}/STEER/CDB
33                     ${AliRoot_SOURCE_DIR}/STEER/ESD
34                     ${AliRoot_SOURCE_DIR}/STEER/STEER
35                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
36                     ${AliRoot_SOURCE_DIR}/TPC/TPCbase
37                     ${AliRoot_SOURCE_DIR}/TPC/TPCrec
38                     ${AliRoot_SOURCE_DIR}/TPC/TPCsim
39                    )
40
41 # Sources in alphabetical order
42 set(SRCS
43     AliEveApplication.cxx
44     AliEveBeamsInfo.cxx
45     AliEveBeamsInfoEditor.cxx
46     AliEveCascade.cxx
47     AliEveCascadeEditor.cxx
48     AliEveCascadeListEditor.cxx
49     AliEveConfigManager.cxx
50     AliEveCosmicRayFitter.cxx
51     AliEveCosmicRayFitterEditor.cxx
52     AliEveEventManager.cxx
53     AliEveEventManagerEditor.cxx
54     AliEveEventSelector.cxx
55     AliEveEventSelectorWindow.cxx
56     AliEveFileDialog.cxx
57     AliEveGedEditor.cxx
58     AliEveHF.cxx
59     AliEveHFEditor.cxx
60     AliEveHFListEditor.cxx
61     AliEveJetPlane.cxx
62     AliEveJetPlaneEditor.cxx
63     AliEveJetPlaneGL.cxx
64     AliEveKineTools.cxx
65     AliEveKink.cxx
66     AliEveKinkEditor.cxx
67     AliEveKinkListEditor.cxx
68     AliEveLego.cxx
69     AliEveLegoEditor.cxx
70     AliEveMacro.cxx
71     AliEveMacroEditor.cxx
72     AliEveMacroExecutor.cxx
73     AliEveMacroExecutorWindow.cxx
74     AliEveMagField.cxx
75     AliEveMainWindow.cxx
76     AliEveMultiView.cxx
77     AliEveTrackCounter.cxx
78     AliEveTrackCounterEditor.cxx
79     AliEveTrack.cxx
80     AliEveTrackFitter.cxx
81     AliEveTrackFitterEditor.cxx
82     AliEveTracklet.cxx
83     AliEveUtil.cxx
84     AliEveV0.cxx
85     AliEveV0Editor.cxx
86     AliEveV0ListEditor.cxx
87     AliEveVSDCreator.cxx
88    )
89
90 # Headers from sources
91 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
92
93 # Generate the dictionary
94 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
95 get_directory_property(incdirs INCLUDE_DIRECTORIES)
96 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
97
98 # Generate the ROOT map
99 # Dependecies
100 set(LIBDEPS STEERBase STEER ESD CDB AOD RAWDatabase RAWDatarec ANALYSIS ANALYSISalice ITSbase ITSrec TPCbase TPCrec TPCsim EG Eve Ged Gpad Graf Graf3d Gui Minuit Net RGL Rint)
101 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
102
103 # Add a library to the project using the specified source files
104 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
105 target_link_libraries(${MODULE} STEERBase STEER ESD CDB AOD RAWDatabase RAWDatarec ANALYSIS ANALYSISalice ITSbase ITSrec TPCbase TPCrec TPCsim EG Eve Ged Gpad Graf Graf3d Gui Minuit Net RGL Rint)
106
107 # Additional compilation flags
108 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
109
110 # System dependent: Modify the way the library is build
111 if(${CMAKE_SYSTEM} MATCHES Darwin)
112     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
113 endif(${CMAKE_SYSTEM} MATCHES Darwin)
114
115 # Installation
116 install(TARGETS ${MODULE}
117         ARCHIVE DESTINATION lib
118         LIBRARY DESTINATION lib)
119
120 install(FILES ${HDRS} DESTINATION include)