Fix for definitions for CINT
[u/mrichter/AliRoot.git] / EVGEN / CMakeLists.txt
CommitLineData
e9912df8 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# **************************************************************************
6d839a5c 15
e9912df8 16# Module
17set(MODULE EVGEN)
6d839a5c 18
e9912df8 19# Module include folder
427d561c 20include_directories(${AliRoot_SOURCE_DIR}/${MODULE})
6d839a5c 21
e9912df8 22# Additional include folders in alphabetical order except ROOT
23include_directories(${ROOT_INCLUDE_DIRS}
427d561c 24 ${AliRoot_SOURCE_DIR}/FASTSIM
25 ${AliRoot_SOURCE_DIR}/LHAPDF
26 ${AliRoot_SOURCE_DIR}/PYTHIA6/AliPythia6
27 ${AliRoot_SOURCE_DIR}/STEER/ESD
28 ${AliRoot_SOURCE_DIR}/STEER/STEER
29 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
30 ${AliRoot_SOURCE_DIR}/TEvtGen
e9912df8 31 )
32
33# Sources
34set(SRCS
35 AliDecayerExodus.cxx
36 AliDecayerPolarized.cxx
37 AliDimuCombinator.cxx
38 AliGenAfterBurnerFlow.cxx
39 AliGenBeamGas.cxx
40 AliGenBox.cxx
41 AliGenCocktailAfterBurner.cxx
42 AliGenCocktail.cxx
43 AliGenCocktailEntry.cxx
44 AliGenCorrHF.cxx
45 AliGenCosmicsParam.cxx
46 AliGenDeuteron.cxx
47 AliGenDoubleScan.cxx
48 AliGenEMCocktail.cxx
49 AliGenEMlib.cxx
50 AliGenExtFile.cxx
51 AliGenFixed.cxx
52 AliGenFunction.cxx
53 AliGenGeVSim.cxx
54 AliGenGSIlib.cxx
55 AliGenHalo.cxx
56 AliGenHaloProtvino.cxx
57 AliGenHBTosl.cxx
58 AliGenHIJINGparaBa.cxx
59 AliGenHIJINGpara.cxx
60 AliGenHMPIDlib.cxx
61 AliGenITSULib.cxx
62 AliGenKrypton.cxx
63 AliGenLcLib.cxx
64 AliGenLib.cxx
65 AliGenLightNuclei.cxx
66 AliGenMC.cxx
67 AliGenMUONCocktail.cxx
68 AliGenMUONCocktailpp.cxx
69 AliGenMUONlib.cxx
70 AliGenMUONLMR.cxx
71 AliGenPairFlat.cxx
72 AliGenParam.cxx
73 AliGenPHOSlib.cxx
74 AliGenPileup.cxx
75 AliGenPMDlib.cxx
76 AliGenPromptPhotons.cxx
77 AliGenReaderCwn.cxx
78 AliGenReader.cxx
79 AliGenReaderEcalHijing.cxx
80 AliGenReaderEcalJets.cxx
81 AliGenReaderEMD.cxx
82 AliGenReaderHepMC.cxx
83 AliGenReaderSL.cxx
84 AliGenReaderTreeK.cxx
85 AliGenScan.cxx
86 AliGenSlowNucleons.cxx
87 AliGenSTRANGElib.cxx
88 AliGenThermalPhotons.cxx
89 AliGenThetaSlice.cxx
90 AliGenTHnSparse.cxx
91 AliGenTunedOnPbPb.cxx
92 AliGeVSimParticle.cxx
93 AliOmegaDalitz.cxx
94 AliSlowNucleonModel.cxx
95 AliSlowNucleonModelExp.cxx
96)
97
98# Headers from sources
99string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
100
101# Generate the dictionary
102# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
103get_directory_property(incdirs INCLUDE_DIRECTORIES)
104generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
105
106# Generate the ROOT map
107# Dependecies
108set(LIBDEPS STEERbase STEER ESD AliPythia6 lhapdf TEvtGen FASTSIM)
109generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
110
111# Add a library to the project using the specified source files
112add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
113
114# Additional compilation flags
115set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
116
117# System dependent: Modify the way the library is build
118if(${CMAKE_SYSTEM} MATCHES Darwin)
119 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
120endif(${CMAKE_SYSTEM} MATCHES Darwin)
121
122# Installation
123install(TARGETS ${MODULE}
124 ARCHIVE DESTINATION lib
125 LIBRARY DESTINATION lib)
126install(FILES ${HDRS} DESTINATION include)
127
128message(STATUS "${MODULE} enabled")