0ea858f6c14a94976308c5a3da4790577960270f
[u/mrichter/AliRoot.git] / 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 #--------------------------------------------------------------------------#
17 # Set Basic CMake Configuration                                            #
18 #--------------------------------------------------------------------------#
19
20 cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
21
22 project(AliRoot CXX C)
23
24 # Path to additonal modules
25 set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
26
27 #       - CLANG_MAJOR.CLANG_MINOR or
28 #       - GCC_MAJOR.GCC_MINOR.GCC_PATCH
29 include(CheckCompiler)
30
31 # ROOT dictionaries and maps
32 include(CMakeALICE)
33
34 # ROOT configuration mandatory
35 if(ROOTSYS)
36     find_package(ROOT REQUIRED)
37
38     # ROOT must be build with XML2 support
39     if(ROOT_HASXML STREQUAL "no")
40         message(FATAL_ERROR "ROOT was not build with xml2 support. Please reinstall or rebuild ROOT with xml2 support")
41     endif(ROOT_HASXML STREQUAL "no")
42 else()
43     message(FATAL_ERROR "ROOT installation not found!\nPlease point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR")
44 endif(ROOTSYS)
45
46 # If no Fortran, i.e on Windows
47 # We need to specify ROOT fortran
48 # (f95 comes before gfortran in default module)
49 include(CheckLanguage)
50
51 if(ROOT_FORTRAN)
52     message(STATUS "Using the Fortran compiler defined by ROOT configuration: ${ROOT_FORTRAN}")
53     set(CMAKE_Fortran_COMPILER ${ROOT_FORTRAN})
54 else()
55     message(STATUS "Using default system Fortran compiler")
56 endif(ROOT_FORTRAN)
57
58 check_language(Fortran)
59 if(CMAKE_Fortran_COMPILER)
60     enable_language(Fortran OPTIONAL)
61 else()
62     message("No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN")
63 endif()
64
65
66 # DATE
67 find_package(DATE)
68
69 # AliRoot version extracted from Git repository
70 # Sets 4 git variables
71 #  - GIT_REFSPEC - complete name of the current reference
72 #  - ALIROOT_BRANCH - name of the branch or tag extracted from the current reference
73 #  - GIT_SHA1 - current hash in the long format
74 #  - GIT_SHORT_SHA1 - current hash in the short format
75 include(CheckGitVersion)
76
77 message(STATUS "CMake platform: ${CMAKE_SYSTEM}")
78 message(STATUS "Build folder: ${AliRoot_BINARY_DIR}")
79 message(STATUS "Source folder: ${AliRoot_SOURCE_DIR}")
80 message(STATUS "Installation folder: ${CMAKE_INSTALL_PREFIX}")
81
82
83 # AliRoot modules
84 add_subdirectory(STEER)
85 add_subdirectory(STAT)
86 add_subdirectory(OADB)
87 add_subdirectory(ANALYSIS)
88 add_subdirectory(RAW)
89 add_subdirectory(ITS)
90 add_subdirectory(TPC)
91 add_subdirectory(VZERO)
92 add_subdirectory(T0)
93 add_subdirectory(TOF)
94 add_subdirectory(TRD)
95 add_subdirectory(ZDC)
96 add_subdirectory(STRUCT)
97 add_subdirectory(HMPID)
98 add_subdirectory(PMD)
99 add_subdirectory(MUON)
100 add_subdirectory(FMD)
101 add_subdirectory(ACORDE)
102 add_subdirectory(EMCAL)
103 add_subdirectory(PHOS)
104 add_subdirectory(TRIGGER)
105 add_subdirectory(BCM)
106 add_subdirectory(CORRFW)
107 add_subdirectory(FASTSIM)
108 if(CMAKE_Fortran_COMPILER)
109   add_subdirectory (LHAPDF)
110   add_subdirectory (PYTHIA6)
111 #  add_subdirectory (MICROCERN)
112 endif(CMAKE_Fortran_COMPILER)
113 #add_subdirectory (EVGEN)
114 #add_subdirectory (TUHKMgen)
115 #add_subdirectory (TTherminator)
116 #add_subdirectory (TPHIC)
117 #add_subdirectory (THydjet)
118 #add_subdirectory (PWG)
119 #add_subdirectory (Vc)
120 #add_subdirectory (HLT)