]> git.uio.no Git - u/mrichter/AliRoot.git/blame - CMakeLists.txt
Public include folders for the dependencies
[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
cbd58b9c 20cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
e969a926 21
d50827fc 22project(AliRoot CXX C)
bf4c2121 23
d50827fc 24# Path to additonal modules
f72dcc4f 25set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
b22a7396 26
27# - CLANG_MAJOR.CLANG_MINOR or
28# - GCC_MAJOR.GCC_MINOR.GCC_PATCH
29include(CheckCompiler)
30
31# ROOT dictionaries and maps
d50827fc 32include(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
38if(DATE_CONFIG)
39 find_package(DATE)
40endif(DATE_CONFIG)
41
42# daqDA
43if(daqDA)
44 find_package(daqDA)
45endif(daqDA)
46
47# AMORE
48if(AMORE_CONFIG)
49 find_package(AMORE)
50endif(AMORE_CONFIG)
51
52# DA is enabled
53if(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")
77endif(DA)
78
d50827fc 79# ROOT configuration mandatory
80if(ROOTSYS)
81 find_package(ROOT REQUIRED)
234c484d 82
83 # ROOT must be build with XML2 support
84 if(ROOT_HASXML STREQUAL "no")
85 message(FATAL_ERROR "ROOT was not build with xml2 support. Please reinstall or rebuild ROOT with xml2 support")
86 endif(ROOT_HASXML STREQUAL "no")
d50827fc 87else()
88 message(FATAL_ERROR "ROOT installation not found!\nPlease point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR")
89endif(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)
94include(CheckLanguage)
95
96if(ROOT_FORTRAN)
97 message(STATUS "Using the Fortran compiler defined by ROOT configuration: ${ROOT_FORTRAN}")
98 set(CMAKE_Fortran_COMPILER ${ROOT_FORTRAN})
99else()
100 message(STATUS "Using default system Fortran compiler")
101endif(ROOT_FORTRAN)
102
103check_language(Fortran)
104if(CMAKE_Fortran_COMPILER)
105 enable_language(Fortran OPTIONAL)
106else()
f82bfa66 107 message(STATUS "No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN, etc.")
1dbe1076 108endif()
109
110
56966a5e 111# DATE
f82bfa66 112if(DATE_CONFIG)
113 find_package(DATE)
114endif(DATE_CONFIG)
115
116# daqDA
117if(daqDA)
118 find_package(daqDA)
119endif(daqDA)
120
121# DA is enabled
122if(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")
136endif(DA)
56966a5e 137
b5576c4e 138# FastJet
139find_package(FASTJET)
140
3c77e1ef 141# ZEROMQ
142find_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 150include(CheckGitVersion)
6db31708 151
d50827fc 152message(STATUS "CMake platform: ${CMAKE_SYSTEM}")
153message(STATUS "Build folder: ${AliRoot_BINARY_DIR}")
154message(STATUS "Source folder: ${AliRoot_SOURCE_DIR}")
155message(STATUS "Installation folder: ${CMAKE_INSTALL_PREFIX}")
156
157
63697604 158# AliRoot base modules
17f9c1f8 159add_subdirectory(STEER)
17f9c1f8 160add_subdirectory(RAW)
63697604 161add_subdirectory(ANALYSIS)
162
163# Include Vc own cmake
164include(Vc/Vc.cmake)
165add_subdirectory(Vc)
166
167# AliRoot modules
168add_subdirectory(ACORDE)
169add_subdirectory(AD)
170add_subdirectory(BCM)
171add_subdirectory(CORRFW)
172add_subdirectory(EMCAL)
9d62600c 173add_subdirectory(EPOS)
63697604 174add_subdirectory(EVE)
175add_subdirectory(EVGEN)
176add_subdirectory(FASTSIM)
177add_subdirectory(FIT)
178add_subdirectory(FMD)
179add_subdirectory(HLT)
180add_subdirectory(HMPID)
17f9c1f8 181add_subdirectory(ITS)
63697604 182add_subdirectory(JETAN)
80afaccc 183add_subdirectory(MFT)
63697604 184add_subdirectory(MONITOR)
185add_subdirectory(MUON)
186add_subdirectory(OADB)
187add_subdirectory(PHOS)
188add_subdirectory(PMD)
a31c2f7d 189add_subdirectory(PYTHIA8)
63697604 190add_subdirectory(STARLIGHT)
191add_subdirectory(STAT)
192add_subdirectory(STRUCT)
97e8d2a8 193add_subdirectory(T0)
72017ac8 194add_subdirectory(TDPMjet)
e706c082 195add_subdirectory(TEvtGen)
16765dcc 196add_subdirectory(THerwig)
97e8d2a8 197add_subdirectory(TOF)
63697604 198add_subdirectory(TPC)
97e8d2a8 199add_subdirectory(TRD)
25f88fb9 200add_subdirectory(TRIGGER)
63697604 201add_subdirectory(TTherminator)
202add_subdirectory(VZERO)
203add_subdirectory(ZDC)
67018bf4 204
63697604 205# Fortran modules
1dbe1076 206if(CMAKE_Fortran_COMPILER)
c462af85 207 add_subdirectory(DIME)
208 add_subdirectory(DPMJET)
64609fcd 209 add_subdirectory(HERWIG)
63697604 210 add_subdirectory(HIJING)
116e4267 211 add_subdirectory(LHAPDF)
116e4267 212 add_subdirectory(MICROCERN)
63697604 213 add_subdirectory(PYTHIA6)
ba812042 214 add_subdirectory(TEPEMGEN)
27b08c46 215 add_subdirectory(THbtp)
a95d9137 216 add_subdirectory(THijing)
63697604 217 add_subdirectory(THydjet)
218 add_subdirectory(TPHIC)
219 add_subdirectory(TUHKMgen)
9b863d49 220 add_subdirectory(TAmpt)
1dbe1076 221endif(CMAKE_Fortran_COMPILER)
67018bf4 222
67018bf4 223# Enable SHUTTLE compilation
224# Check if DIMDIR and ODIR are set
225if(SHUTTLE)
226 if(DIMDIR AND ODIR AND ALIEN)
227 add_subdirectory(SHUTTLE)
228 else()
229 message(FATAL_ERROR "SHUTTLE enabled! Please specify DIMDIR, ODIR and ALIEN")
230 endif()
231endif(SHUTTLE)
034aa4b3 232
233add_subdirectory(ALIROOT)