small update
[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}/STEER/ESD
27                     ${AliRoot_SOURCE_DIR}/STEER/STEER
28                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
29                     ${AliRoot_SOURCE_DIR}/TEvtGen
30                     ${AliRoot_SOURCE_DIR}/TEvtGen/THepMCParser
31                    )
32
33 # Sources
34 set(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
99 string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
100
101 # Additional header files
102 set(HDRS ${HDRS} AliDecayer.h)
103
104 # Generate the dictionary
105 # It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
106 get_directory_property(incdirs INCLUDE_DIRECTORIES)
107 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
108
109 # Generate the ROOT map
110 # Dependecies
111 set(LIBDEPS STEERBase STEER ESD lhapdf TEvtGen FASTSIM THepMCParser)
112 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
113
114 # Add a library to the project using the specified source files
115 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
116
117 # Additional compilation flags
118 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
119
120 # Linking the library
121 target_link_libraries(${MODULE} ${LIBDEPS})
122
123 # System dependent: Modify the way the library is build
124 if(${CMAKE_SYSTEM} MATCHES Darwin)
125     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
126 endif(${CMAKE_SYSTEM} MATCHES Darwin)
127
128 # Installation
129 install(TARGETS ${MODULE}
130   ARCHIVE DESTINATION lib
131   LIBRARY DESTINATION lib)
132 install(FILES ${HDRS} DESTINATION include)
133
134 message(STATUS "${MODULE} enabled")