29c17226ebda5c9ff84976571ac9738dd65f1352
[u/mrichter/AliRoot.git] / PWG / muon / 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 PWGmuon)
18
19 # Module include folder
20 include_directories(${AliRoot_SOURCE_DIR}/PWG/muon)
21
22 # Additional includes - alphabetical order except ROOT
23 include_directories(${ROOT_INCLUDE_DIRS}
24                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSIS
25                     ${AliRoot_SOURCE_DIR}/ANALYSIS/ANALYSISalice
26                     ${AliRoot_SOURCE_DIR}/CORRFW
27                     ${AliRoot_SOURCE_DIR}/STEER/AOD
28                     ${AliRoot_SOURCE_DIR}/STEER/ESD
29                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
30   )
31
32 # Sources - alphabetical order
33 set(SRCS
34   AliAnalysisTaskMuMu.cxx 
35   AliHistogramCollection.cxx
36   AliAnalysisTaskAOD2MuonAOD.cxx
37   AliAnalysisTaskESDMuonFilter.cxx 
38   AliAnalysisTaskMuonAODfromGeneral.cxx 
39   AliAnalysisTaskFromStandardToMuonAOD.cxx 
40   AliAnalysisTaskSingleMu.cxx 
41   AliAnalysisTaskLUT.cxx 
42   AliAnalysisTaskLinkToMC.cxx 
43   AliAODEventInfo.cxx 
44   AliESDMuonTrackCuts.cxx 
45   AliAnalysisTaskSingleMuESD.cxx 
46   AliCFMuonResTask1.cxx 
47   AliCFMuonSingleTask1.cxx 
48   AliEventPoolMuon.cxx 
49   AliAnalysisTaskCreateMixedDimuons.cxx 
50   AliAnalysisTaskMuonAODCreation.cxx 
51   AliAnalysisTaskMuonDistributions.cxx 
52   AliMuonInfoStoreRD.cxx 
53   AliDimuInfoStoreRD.cxx 
54   AliMuonInfoStoreMC.cxx 
55   AliDimuInfoStoreMC.cxx 
56   AliMuonsHFHeader.cxx 
57   AliAnalysisTaskSEMuonsHF.cxx 
58   AliAnalysisTaskDimuonCFContainerBuilder.cxx 
59   AliAnalysisTaskMuonTreeBuilder.cxx 
60   AliAODMuonReplicator.cxx 
61   AliAnalysisTaskMuonCollisionMultiplicity.cxx 
62   AliCFMuonResUpsilon.cxx 
63   AliMuonEventCuts.cxx 
64   AliMuonTrackCuts.cxx 
65   AliMuonPairCuts.cxx 
66   AliVAnalysisMuon.cxx 
67   AliAnalysisTaskFlowSingleMu.cxx 
68   AliAnalysisMuonUtility.cxx
69   AliUtilityMuonAncestor.cxx
70   AliOADBMuonTrackCutsParam.cxx
71   AliAnalysisMuMuBinning.cxx
72   AliAnalysisNonMuonTrackCuts.cxx
73   AliAnalysisNonPrimaryVertices.cxx
74   AliAnalysisTaskAOD2MuonAOD.cxx
75   AliAnalysisTaskMuMu.cxx
76   AliAnalysisMuMuBase.cxx
77   AliAnalysisMuMuGlobal.cxx
78   AliAnalysisMuMuCutRegistry.cxx
79   AliAnalysisMuMuCutElement.cxx
80   AliAnalysisMuMuEventCutter.cxx
81   AliAnalysisMuMuCutCombination.cxx
82   AliAnalysisMuMuSingle.cxx
83   AliAnalysisMuMuMinv.cxx
84   AliAnalysisMuMuNch.cxx
85   AliAnalysisTaskNorm.cxx
86   )
87
88 # Headers from sources
89 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
90
91 # Generate the dictionary
92 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
93 get_directory_property(incdirs INCLUDE_DIRECTORIES)
94 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
95
96 # Add a shared library
97 add_library(${MODULE} SHARED  ${SRCS} G__${MODULE}.cxx)
98
99 # Generate the ROOT map
100 # Dependecies
101 set(LIBDEPS ANALYSISalice AOD CORRFW STEERBase)
102 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
103
104 # Linking the library
105 target_link_libraries(${MODULE} ${LIBDEPS})
106
107 # Public include folders that will be propagated to the dependecies
108 target_include_directories(${MODULE} PUBLIC ${incdirs})
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 install(FILES ${HDRS} DESTINATION include)
120
121 # Installing the macros
122 install(DIRECTORY . DESTINATION PWG/muon FILES_MATCHING PATTERN "*.C")