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