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