]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/ANALYSISalice/CMakeLists.txt
CMake: same deps for linked libs and rootmaps
[u/mrichter/AliRoot.git] / ANALYSIS / ANALYSISalice / 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 ANALYSISalice)
18
19 # Module include folders in alphabetical order except ROOT
20 include_directories(${AliRoot_SOURCE_DIR}/ANALYSIS/${MODULE})
21
22 # Additional include directories
23 include_directories(${ROOT_INCLUDE_DIRS}
24                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS
25                     ${AliRoot_SOURCE_DIR}/STEER/AOD
26                     ${AliRoot_SOURCE_DIR}/STEER/ESD
27                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
28                    )
29
30 # Sources in alphabetical order 
31 set(SRCS 
32     AliAnalysisCuts.cxx
33     AliAnalysisFilter.cxx
34     AliAnalysisTaskBadChunkID.cxx
35     AliAnalysisTaskBaseLine.cxx
36     AliAnalysisTaskMCParticleFilter.cxx
37     AliAnalysisTaskME.cxx
38     AliAnalysisTaskPIDCombined.cxx
39     AliAnalysisTaskPIDqa.cxx
40     AliAnalysisTaskPIDResponse.cxx
41     AliAnalysisTaskSE.cxx
42     AliAnalysisTaskStat.cxx
43     AliAnalysisTaskTagCreator.cxx
44     AliAODv0KineCuts.cxx
45     AliESDpidCuts.cxx
46     AliESDtrackCuts.cxx
47     AliESDv0Cuts.cxx
48     AliESDv0KineCuts.cxx
49     AliEventPoolLoop.cxx
50     AliEventPoolManager.cxx
51     AliEventPoolOTF.cxx
52     AliEventPoolSparse.cxx
53     AliHEPDataParser.cxx
54     AliKineTrackCuts.cxx
55     AliMultiEventInputHandler.cxx
56     AliMultiInputEventHandler.cxx
57     AliPIDResponseInputHandler.cxx
58     AliPPVsMultUtils.cxx
59     AliTagAnalysis.cxx
60     AliUnfolding.cxx
61     AliVZEROEPSelectionTask.cxx
62     AliXMLCollection.cxx
63   )
64
65
66 # If ROOT has no xml support desabling collections and AliEn support
67 if(ROOT_HASXML)
68     set(SRCS ${SRCS}
69          AliTagAnalysis.cxx
70          AliXMLCollection.cxx
71        )
72
73     # If ROOT was build with no AliEn support we disable the AliROOT AliEn support
74     if(ROOT_HASALIEN)
75         set(SRCS ${SRCS} 
76             AliAnalysisAlien.cxx
77         )
78     else()
79         message(STATUS "${MODULE} - ROOT was build with no alien support. Disabling AliROOT AliEn support")
80     endif()
81 else()
82     message(STATUS "${MODULE} - ROOT was build with no xml support. Disabling XML collection and AliEn support")
83 endif()
84
85 # Headers from sources
86 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
87
88 # Generate the dictionary
89 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
90 get_directory_property(incdirs INCLUDE_DIRECTORIES)
91 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
92
93 # Generate the ROOT map
94 # Dependecies
95 set(LIBDEPS ANALYSIS AOD ESD STEERBase Core EG Gpad Gui Hist MathCore Matrix Net Physics RIO TreePlayer Tree XMLIO)
96 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
97
98 # Add a library to the project using the specified source files
99 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
100
101 # Additional compilation flags
102 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
103
104 # Linking the library
105 target_link_libraries(${MODULE} ${LIBDEPS})
106
107 # System dependent: Modify the way the library is build
108 if(${CMAKE_SYSTEM} MATCHES Darwin)
109     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
110 endif(${CMAKE_SYSTEM} MATCHES Darwin)
111
112 # Installation
113 install(TARGETS ${MODULE}
114   ARCHIVE DESTINATION lib
115   LIBRARY DESTINATION lib)
116 install(FILES ${HDRS} DESTINATION include)