]>
Commit | Line | Data |
---|---|---|
d50827fc | 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 | #--------------------------------------------------------------------------# | |
17 | # Set Basic CMake Configuration # | |
18 | #--------------------------------------------------------------------------# | |
e969a926 | 19 | |
cbd58b9c | 20 | cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) |
e969a926 | 21 | |
d50827fc | 22 | project(AliRoot CXX C) |
bf4c2121 | 23 | |
d50827fc | 24 | # Path to additonal modules |
f72dcc4f | 25 | set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") |
b22a7396 | 26 | |
27 | # - CLANG_MAJOR.CLANG_MINOR or | |
28 | # - GCC_MAJOR.GCC_MINOR.GCC_PATCH | |
29 | include(CheckCompiler) | |
30 | ||
31 | # ROOT dictionaries and maps | |
d50827fc | 32 | include(CMakeALICE) |
6db31708 | 33 | |
f82bfa66 | 34 | # Checking first for DIM, DATE, AMORE and daqDA |
35 | # in case ROOT Extra static library needs to be enabled | |
36 | ||
37 | # DATE | |
38 | if(DATE_CONFIG) | |
39 | find_package(DATE) | |
40 | endif(DATE_CONFIG) | |
41 | ||
42 | # daqDA | |
43 | if(daqDA) | |
44 | find_package(daqDA) | |
45 | endif(daqDA) | |
46 | ||
47 | # AMORE | |
48 | if(AMORE_CONFIG) | |
49 | find_package(AMORE) | |
50 | endif(AMORE_CONFIG) | |
51 | ||
52 | # DA is enabled | |
53 | if(DA) | |
54 | if(NOT DIMDIR AND NOT ODIR) | |
55 | set(DA FALSE) | |
56 | message(FATAL_ERROR "Das enabled but no DIMDIR and ODIR set. Please set DIMDIR to DIM installation and ODIR to platform (default linux)") | |
57 | endif() | |
58 | ||
59 | if(NOT DATE_FOUND) | |
60 | set(DA FALSE) | |
61 | message(FATAL_ERROR "DAs enabled but no DATE support found. Please point to your date installation using \"DATE_CONFIG\" variable") | |
62 | endif() | |
63 | ||
64 | if(NOT daqDA_FOUND) | |
65 | set(DA FALSE) | |
66 | message(FATAL_ERROR "DAs enabled but no daqDA support found. Please point to your daqDA installation using \"daqDA\" variable") | |
67 | endif() | |
68 | ||
69 | if(NOT AMORE_FOUND) | |
70 | set(DA FALSE) | |
71 | message(FATAL_ERROR "DAs enabled but no AMORE support found. Please point to your AMORE installation using \"AMORE_CONFIG\" variable") | |
72 | endif() | |
73 | ||
74 | # Enable static libraries | |
75 | set(ALIROOT_STATIC TRUE) | |
76 | message(STATUS "DAs enabled") | |
77 | endif(DA) | |
78 | ||
d50827fc | 79 | # ROOT configuration mandatory |
80 | if(ROOTSYS) | |
81 | find_package(ROOT REQUIRED) | |
234c484d | 82 | |
83 | # ROOT must be build with XML2 support | |
4d31eb1c | 84 | if(NOT ROOT_HASXML) |
234c484d | 85 | message(FATAL_ERROR "ROOT was not build with xml2 support. Please reinstall or rebuild ROOT with xml2 support") |
7d1be1d5 | 86 | endif(NOT ROOT_HASXML) |
d50827fc | 87 | else() |
88 | message(FATAL_ERROR "ROOT installation not found!\nPlease point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR") | |
89 | endif(ROOTSYS) | |
6db31708 | 90 | |
1dbe1076 | 91 | # If no Fortran, i.e on Windows |
92 | # We need to specify ROOT fortran | |
93 | # (f95 comes before gfortran in default module) | |
94 | include(CheckLanguage) | |
95 | ||
96 | if(ROOT_FORTRAN) | |
97 | message(STATUS "Using the Fortran compiler defined by ROOT configuration: ${ROOT_FORTRAN}") | |
98 | set(CMAKE_Fortran_COMPILER ${ROOT_FORTRAN}) | |
99 | else() | |
100 | message(STATUS "Using default system Fortran compiler") | |
101 | endif(ROOT_FORTRAN) | |
102 | ||
103 | check_language(Fortran) | |
104 | if(CMAKE_Fortran_COMPILER) | |
105 | enable_language(Fortran OPTIONAL) | |
106 | else() | |
f82bfa66 | 107 | message(STATUS "No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN, etc.") |
1dbe1076 | 108 | endif() |
109 | ||
110 | ||
56966a5e | 111 | # DATE |
f82bfa66 | 112 | if(DATE_CONFIG) |
113 | find_package(DATE) | |
114 | endif(DATE_CONFIG) | |
115 | ||
116 | # daqDA | |
117 | if(daqDA) | |
118 | find_package(daqDA) | |
119 | endif(daqDA) | |
120 | ||
121 | # DA is enabled | |
122 | if(DA) | |
123 | if(NOT DATE_FOUND) | |
124 | set(DA FALSE) | |
125 | message(FATAL_ERROR "DAs enabled but no DATE support found. Please point to your date installation using \"DATE_CONFIG\"") | |
126 | endif() | |
127 | ||
128 | if(NOT daqDA_FOUND) | |
129 | set(DA FALSE) | |
130 | message(FATAL_ERROR "DAs enabled but no daqDA support found. Please point to your daqDA installation using \"daqDA\" variable") | |
131 | endif() | |
132 | ||
133 | # Enable static libraries | |
134 | set(ALIROOT_STATIC TRUE) | |
135 | message(STATUS "DAs enabled") | |
136 | endif(DA) | |
56966a5e | 137 | |
b5576c4e | 138 | # FastJet |
139 | find_package(FASTJET) | |
140 | ||
3c77e1ef | 141 | # ZEROMQ |
142 | find_package(ZeroMQ) | |
143 | ||
b22a7396 | 144 | # AliRoot version extracted from Git repository |
145 | # Sets 4 git variables | |
d37e8011 | 146 | # - GIT_REFSPEC - complete name of the current reference |
147 | # - ALIROOT_BRANCH - name of the branch or tag extracted from the current reference | |
148 | # - GIT_SHA1 - current hash in the long format | |
149 | # - GIT_SHORT_SHA1 - current hash in the short format | |
b22a7396 | 150 | include(CheckGitVersion) |
6db31708 | 151 | |
d50827fc | 152 | message(STATUS "CMake platform: ${CMAKE_SYSTEM}") |
153 | message(STATUS "Build folder: ${AliRoot_BINARY_DIR}") | |
154 | message(STATUS "Source folder: ${AliRoot_SOURCE_DIR}") | |
155 | message(STATUS "Installation folder: ${CMAKE_INSTALL_PREFIX}") | |
156 | ||
4d31eb1c | 157 | # General flags -> Should be moved into a configuration file |
158 | set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) | |
d50827fc | 159 | |
63697604 | 160 | # AliRoot base modules |
17f9c1f8 | 161 | add_subdirectory(STEER) |
17f9c1f8 | 162 | add_subdirectory(RAW) |
63697604 | 163 | add_subdirectory(ANALYSIS) |
164 | ||
165 | # Include Vc own cmake | |
166 | include(Vc/Vc.cmake) | |
167 | add_subdirectory(Vc) | |
168 | ||
169 | # AliRoot modules | |
170 | add_subdirectory(ACORDE) | |
171 | add_subdirectory(AD) | |
172 | add_subdirectory(BCM) | |
173 | add_subdirectory(CORRFW) | |
174 | add_subdirectory(EMCAL) | |
9d62600c | 175 | add_subdirectory(EPOS) |
63697604 | 176 | add_subdirectory(EVE) |
177 | add_subdirectory(EVGEN) | |
178 | add_subdirectory(FASTSIM) | |
179 | add_subdirectory(FIT) | |
180 | add_subdirectory(FMD) | |
181 | add_subdirectory(HLT) | |
182 | add_subdirectory(HMPID) | |
17f9c1f8 | 183 | add_subdirectory(ITS) |
63697604 | 184 | add_subdirectory(JETAN) |
80afaccc | 185 | add_subdirectory(MFT) |
63697604 | 186 | add_subdirectory(MONITOR) |
187 | add_subdirectory(MUON) | |
188 | add_subdirectory(OADB) | |
189 | add_subdirectory(PHOS) | |
190 | add_subdirectory(PMD) | |
a31c2f7d | 191 | add_subdirectory(PYTHIA8) |
63697604 | 192 | add_subdirectory(STARLIGHT) |
193 | add_subdirectory(STAT) | |
194 | add_subdirectory(STRUCT) | |
97e8d2a8 | 195 | add_subdirectory(T0) |
72017ac8 | 196 | add_subdirectory(TDPMjet) |
e706c082 | 197 | add_subdirectory(TEvtGen) |
16765dcc | 198 | add_subdirectory(THerwig) |
97e8d2a8 | 199 | add_subdirectory(TOF) |
63697604 | 200 | add_subdirectory(TPC) |
97e8d2a8 | 201 | add_subdirectory(TRD) |
25f88fb9 | 202 | add_subdirectory(TRIGGER) |
63697604 | 203 | add_subdirectory(TTherminator) |
204 | add_subdirectory(VZERO) | |
205 | add_subdirectory(ZDC) | |
67018bf4 | 206 | |
63697604 | 207 | # Fortran modules |
1dbe1076 | 208 | if(CMAKE_Fortran_COMPILER) |
c462af85 | 209 | add_subdirectory(DIME) |
210 | add_subdirectory(DPMJET) | |
64609fcd | 211 | add_subdirectory(HERWIG) |
63697604 | 212 | add_subdirectory(HIJING) |
116e4267 | 213 | add_subdirectory(LHAPDF) |
116e4267 | 214 | add_subdirectory(MICROCERN) |
63697604 | 215 | add_subdirectory(PYTHIA6) |
ba812042 | 216 | add_subdirectory(TEPEMGEN) |
27b08c46 | 217 | add_subdirectory(THbtp) |
a95d9137 | 218 | add_subdirectory(THijing) |
63697604 | 219 | add_subdirectory(THydjet) |
220 | add_subdirectory(TPHIC) | |
221 | add_subdirectory(TUHKMgen) | |
9b863d49 | 222 | add_subdirectory(TAmpt) |
1dbe1076 | 223 | endif(CMAKE_Fortran_COMPILER) |
67018bf4 | 224 | |
67018bf4 | 225 | # Enable SHUTTLE compilation |
226 | # Check if DIMDIR and ODIR are set | |
227 | if(SHUTTLE) | |
228 | if(DIMDIR AND ODIR AND ALIEN) | |
229 | add_subdirectory(SHUTTLE) | |
230 | else() | |
231 | message(FATAL_ERROR "SHUTTLE enabled! Please specify DIMDIR, ODIR and ALIEN") | |
232 | endif() | |
233 | endif(SHUTTLE) | |
034aa4b3 | 234 | |
235 | add_subdirectory(ALIROOT) |