]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/PWGJE/CMakeLists.txt
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / PWGJE / CMakeLists.txt
CommitLineData
d54442de 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
17set(MODULE PWGJE)
18
19# Module include folder
20include_directories(${AliRoot_SOURCE_DIR}/PWGJE/PWGJE)
21
22# Additional include folders in alphabetical order except ROOT
23include_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}/JETAN/JETAN
864866a0 28 ${AliRoot_SOURCE_DIR}/OADB
d54442de 29 ${AliRoot_SOURCE_DIR}/PWG/FLOW/Tasks
30 ${AliRoot_SOURCE_DIR}/PWG/TRD
31 ${AliRoot_SOURCE_DIR}/PWG/Tools
32 ${AliRoot_SOURCE_DIR}/PWGCF/Correlations/Base # to add dependency
33 ${AliRoot_SOURCE_DIR}/PWGCF/Correlations/DPhi # to add dependency
34 ${AliRoot_SOURCE_DIR}/STEER/AOD
35 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
36 )
37
38# Sources in alphabetical order
39set(SRCS
40 AliAnaChargedJetResponseMaker.cxx
41 AliAnalysisTaskAj.cxx
42 AliAnalysisTaskFragmentationFunction.cxx
43 AliAnalysisTaskJetCore.cxx
44 AliAnalysisTaskJetCorePP.cxx
45 AliAnalysisTaskJetProperties.cxx
46 AliAnalysisTaskJetResponseV2.cxx
47 AliAnalysisTaskJetServices.cxx
48 AliAnalysisTaskJetSpectrum2.cxx
49 AliAnalysisTaskJetsTM.cxx
50 AliAnalysisTaskPartonDisc.cxx
51 AliFragmentationFunctionCorrections.cxx
52 AliPWG4CosmicCandidates.cxx
53 AliPWG4HighPtQAMC.cxx
54 AliPWG4HighPtQATPConly.cxx
55 AliPWG4HighPtSpectra.cxx
56 AliPWG4HighPtTrackQA.cxx
57 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskIDFFTCF.cxx
58 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskIDFragmentationFunction.cxx
59 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetAntenna.cxx
60 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetProtonCorr.cxx
61 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetShape.cxx
62 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetsTriggerTRD.cxx
63 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskPID.cxx
64 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskPIDV0base.cxx
65 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskPPJetSpectra.cxx
66 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliIDFFUtils.cxx
67 )
68
69if(FASTJET_FOUND)
70 set(SRCS ${SRCS}
71 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskCheckSingleTrackJetRejection.cxx
72 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetHadronCorrelation.cxx
73 ${AliRoot_SOURCE_DIR}/PWGJE/UserTasks/AliAnalysisTaskJetHBOM.cxx
74 )
75
bb2c1908 76 include_directories(SYSTEM ${FASTJET_INCLUDE_DIR})
d54442de 77 link_directories(${FASTJET_LIBS_DIR})
78 add_definitions(${FASTJET_DEFINITIONS})
79
80endif(FASTJET_FOUND)
81
82# Headers from sources
83string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
84
85if(FASTJET_FOUND)
86 set(HDRS ${HDRS}
87 ${AliRoot_SOURCE_DIR}/PWGJE/EMCALJetTasks/FJ_includes.h
88 )
89endif(FASTJET_FOUND)
90
91# Generate the dictionary
92# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
93get_directory_property(incdirs INCLUDE_DIRECTORIES)
94generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
95
96set(ROOT_DEPENDENCIES Core EG Gpad Hist MathCore Matrix Physics RIO Tree)
97set(ALIROOT_DEPENDENCIES STEERBase AOD ANALYSIS ANALYSISalice CORRFW JETAN PWGTools PWGflowTasks PWGTRD)
98
99# Generate the ROOT map
100# Dependecies
101set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES})
102generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
103
104# Create an object to be reused in case of static libraries
105# Otherwise the sources will be compiled twice
106add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx)
107# Add a library to the project using the object
108add_library(${MODULE} SHARED $<TARGET_OBJECTS:${MODULE}-object>)
109target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES})
110
111# Setting the correct headers for the object as gathered from the dependencies
112target_include_directories(${MODULE}-object PUBLIC $<TARGET_PROPERTY:${MODULE},INCLUDE_DIRECTORIES>)
113set_target_properties(${MODULE}-object PROPERTIES COMPILE_DEFINITIONS $<TARGET_PROPERTY:${MODULE},COMPILE_DEFINITIONS>)
114
115# Public include folders that will be propagated to the dependecies
116target_include_directories(${MODULE} PUBLIC ${incdirs})
117
118set(MODULE_COMPILE_FLAGS)
119set(MODULE_LINK_FLAGS)
120
121if(DATE_FOUND)
122 set(MODULE_COMPILE_FLAGS "${DATE_CFLAGS}")
123 set(MODULE_LINK_FLAGS "${DATE_LDFLAGS} ${DATE_LIBS}")
124endif(DATE_FOUND)
125
126# Additional compilation and linking flags
127set(MODULE_COMPILE_FLAGS " ${MODULE_COMPILE_FLAGS}")
128
129# System dependent: Modify the way the library is build
130if(${CMAKE_SYSTEM} MATCHES Darwin)
131 set(MODULE_LINK_FLAGS "-undefined dynamic_lookup ${MODULE_LINK_FLAGS}")
132endif(${CMAKE_SYSTEM} MATCHES Darwin)
133
134# Setting compilation flags for the object
135set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "${MODULE_COMPILE_FLAGS}")
136# Setting the linking flags for the library
137set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}")
138
139# Installation
140install(TARGETS ${MODULE}
141 ARCHIVE DESTINATION lib
142 LIBRARY DESTINATION lib)
143
864866a0 144install(FILES ${HDRS} DESTINATION include)