libPWGEMCAL, libPWGflowtasks and libPWGmuon converted to native cmake
[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   AliAnalysisTaskESDMuonFilter.cxx 
37   AliAnalysisTaskMuonAODfromGeneral.cxx 
38   AliAnalysisTaskFromStandardToMuonAOD.cxx 
39   AliAnalysisTaskSingleMu.cxx 
40   AliAnalysisTaskLUT.cxx 
41   AliAnalysisTaskLinkToMC.cxx 
42   AliAODEventInfo.cxx 
43   AliESDMuonTrackCuts.cxx 
44   AliAnalysisTaskSingleMuESD.cxx 
45   AliCFMuonResTask1.cxx 
46   AliCFMuonSingleTask1.cxx 
47   AliEventPoolMuon.cxx 
48   AliAnalysisTaskCreateMixedDimuons.cxx 
49   AliAnalysisTaskMuonAODCreation.cxx 
50   AliAnalysisTaskMuonDistributions.cxx 
51   AliMuonInfoStoreRD.cxx 
52   AliDimuInfoStoreRD.cxx 
53   AliMuonInfoStoreMC.cxx 
54   AliDimuInfoStoreMC.cxx 
55   AliMuonsHFHeader.cxx 
56   AliAnalysisTaskSEMuonsHF.cxx 
57   AliAnalysisTaskDimuonCFContainerBuilder.cxx 
58   AliAnalysisTaskMuonTreeBuilder.cxx 
59   AliAODMuonReplicator.cxx 
60   AliAnalysisTaskMuonCollisionMultiplicity.cxx 
61   AliCFMuonResUpsilon.cxx 
62   AliMuonEventCuts.cxx 
63   AliMuonTrackCuts.cxx 
64   AliMuonPairCuts.cxx 
65   AliVAnalysisMuon.cxx 
66   AliAnalysisTaskFlowSingleMu.cxx 
67   AliAnalysisMuonUtility.cxx
68   AliUtilityMuonAncestor.cxx
69   AliOADBMuonTrackCutsParam.cxx
70   AliAnalysisMuMuBinning.cxx
71   AliAnalysisNonMuonTrackCuts.cxx
72   AliAnalysisNonPrimaryVertices.cxx
73   AliAnalysisTaskAOD2MuonAOD.cxx
74   AliAnalysisTaskMuMu.cxx
75   AliAnalysisMuMuBase.cxx
76   AliAnalysisMuMuGlobal.cxx
77   AliAnalysisMuMuCutRegistry.cxx
78   AliAnalysisMuMuCutElement.cxx
79   AliAnalysisMuMuEventCutter.cxx
80   AliAnalysisMuMuCutCombination.cxx
81   AliAnalysisMuMuSingle.cxx
82   AliAnalysisMuMuMinv.cxx
83   AliAnalysisMuMuNch.cxx
84   AliAnalysisTaskNorm.cxx
85   )
86
87 # Headers from sources
88 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
89
90 # Generate the dictionary
91 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
92 get_directory_property(incdirs INCLUDE_DIRECTORIES)
93 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
94
95 # Add a shared library
96 add_library(${MODULE} SHARED  ${SRCS} G__${MODULE}.cxx)
97
98 # Generate the ROOT map
99 # Dependecies
100 set(LIBDEPS ANALYSISalice AOD CORRFW STEERBase)
101 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
102
103 # Linking the library
104 target_link_libraries(${MODULE} ${LIBDEPS})
105
106 # Public include folders that will be propagated to the dependecies
107 target_include_directories(${MODULE} PUBLIC ${incdirs})
108
109 # System dependent: Modify the way the library is build
110 if(${CMAKE_SYSTEM} MATCHES Darwin)
111     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
112 endif(${CMAKE_SYSTEM} MATCHES Darwin)
113
114 # Installation
115 install(TARGETS ${MODULE} 
116   ARCHIVE DESTINATION lib
117   LIBRARY DESTINATION lib)
118 install(FILES ${HDRS} DESTINATION include)