]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CMakeLists.txt
Correct value for ROOT_HAS*
[u/mrichter/AliRoot.git] / CMakeLists.txt
index df5fd4f8a3fa05d6dbecaf13c79e5192f53de43a..850686441fe829beb64becfda27562575887e78e 100644 (file)
@@ -21,15 +21,6 @@ cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
 
 project(AliRoot CXX C)
 
-# If no Fortran, i.e on Windows
-include(CheckLanguage)
-check_language(Fortran)
-if(CMAKE_Fortran_COMPILER)
-    enable_language(Fortran OPTIONAL)
-else()
-    message("No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN")
-endif()
-
 # Path to additonal modules
 set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
 
@@ -40,20 +31,115 @@ include(CheckCompiler)
 # ROOT dictionaries and maps
 include(CMakeALICE)
 
+# Checking first for DIM, DATE, AMORE and daqDA 
+# in case ROOT Extra static library needs to be enabled
+
+# DATE
+if(DATE_CONFIG)
+    find_package(DATE)
+endif(DATE_CONFIG)
+
+# daqDA
+if(daqDA)
+    find_package(daqDA)
+endif(daqDA)
+
+# AMORE
+if(AMORE_CONFIG)
+    find_package(AMORE)
+endif(AMORE_CONFIG)
+
+# DA is enabled
+if(DA)
+    if(NOT DIMDIR AND NOT ODIR)
+        set(DA FALSE)
+        message(FATAL_ERROR "Das enabled but no DIMDIR and ODIR set. Please set DIMDIR to DIM installation and ODIR to platform (default linux)")
+    endif()
+
+    if(NOT DATE_FOUND)
+        set(DA FALSE)
+        message(FATAL_ERROR "DAs enabled but no DATE support found. Please point to your date installation using \"DATE_CONFIG\" variable")
+    endif()
+
+    if(NOT daqDA_FOUND)
+        set(DA FALSE)
+        message(FATAL_ERROR "DAs enabled but no daqDA support found. Please point to your daqDA installation using \"daqDA\" variable")
+    endif()
+
+    if(NOT AMORE_FOUND)
+        set(DA FALSE)
+        message(FATAL_ERROR "DAs enabled but no AMORE support found. Please point to your AMORE installation using \"AMORE_CONFIG\" variable")
+    endif()
+    
+    # Enable static libraries
+    set(ALIROOT_STATIC TRUE)
+    message(STATUS "DAs enabled")
+endif(DA)
+
 # ROOT configuration mandatory
 if(ROOTSYS)
     find_package(ROOT REQUIRED)
 
     # ROOT must be build with XML2 support
-    if(ROOT_HASXML STREQUAL "no")
+    if(NOT ROOT_HASXML)
         message(FATAL_ERROR "ROOT was not build with xml2 support. Please reinstall or rebuild ROOT with xml2 support")
-    endif(ROOT_HASXML STREQUAL "no")
+    endif(ROOT_HASXML)
 else()
     message(FATAL_ERROR "ROOT installation not found!\nPlease point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR")
 endif(ROOTSYS)
 
+# If no Fortran, i.e on Windows
+# We need to specify ROOT fortran
+# (f95 comes before gfortran in default module)
+include(CheckLanguage)
+
+if(ROOT_FORTRAN)
+    message(STATUS "Using the Fortran compiler defined by ROOT configuration: ${ROOT_FORTRAN}")
+    set(CMAKE_Fortran_COMPILER ${ROOT_FORTRAN})
+else()
+    message(STATUS "Using default system Fortran compiler")
+endif(ROOT_FORTRAN)
+
+check_language(Fortran)
+if(CMAKE_Fortran_COMPILER)
+    enable_language(Fortran OPTIONAL)
+else()
+    message(STATUS "No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN, etc.")
+endif()
+
+
 # DATE
-find_package(DATE)
+if(DATE_CONFIG)
+    find_package(DATE)
+endif(DATE_CONFIG)
+
+# daqDA
+if(daqDA)
+    find_package(daqDA)
+endif(daqDA)
+
+# DA is enabled
+if(DA)
+    if(NOT DATE_FOUND)
+        set(DA FALSE)
+        message(FATAL_ERROR "DAs enabled but no DATE support found. Please point to your date installation using \"DATE_CONFIG\"")
+    endif()
+    
+    if(NOT daqDA_FOUND)
+        set(DA FALSE)
+        message(FATAL_ERROR "DAs enabled but no daqDA support found. Please point to your daqDA installation using \"daqDA\" variable")
+    endif()
+    
+    # Enable static libraries
+    set(ALIROOT_STATIC TRUE)
+    message(STATUS "DAs enabled")
+endif(DA)
+
+# FastJet
+find_package(FASTJET)
+
+# ZEROMQ
+find_package(ZeroMQ)
 
 # AliRoot version extracted from Git repository
 # Sets 4 git variables
@@ -68,42 +154,82 @@ message(STATUS "Build folder: ${AliRoot_BINARY_DIR}")
 message(STATUS "Source folder: ${AliRoot_SOURCE_DIR}")
 message(STATUS "Installation folder: ${CMAKE_INSTALL_PREFIX}")
 
+# General flags -> Should be moved into a configuration file
+set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
 
-# AliRoot modules
+# AliRoot base modules
 add_subdirectory(STEER)
-add_subdirectory(STAT)
-add_subdirectory(OADB)
-add_subdirectory(ANALYSIS)
 add_subdirectory(RAW)
+add_subdirectory(ANALYSIS)
+
+# Include Vc own cmake
+include(Vc/Vc.cmake)
+add_subdirectory(Vc)
+
+# AliRoot modules
+add_subdirectory(ACORDE)
+add_subdirectory(AD)
+add_subdirectory(BCM)
+add_subdirectory(CORRFW)
+add_subdirectory(EMCAL)
+add_subdirectory(EPOS)
+add_subdirectory(EVE)
+add_subdirectory(EVGEN)
+add_subdirectory(FASTSIM)
+add_subdirectory(FIT)
+add_subdirectory(FMD)
+add_subdirectory(HLT)
+add_subdirectory(HMPID)
 add_subdirectory(ITS)
+add_subdirectory(JETAN)
+add_subdirectory(MFT)
+add_subdirectory(MONITOR)
+add_subdirectory(MUON)
+add_subdirectory(OADB)
+add_subdirectory(PHOS)
+add_subdirectory(PMD)
+add_subdirectory(PYTHIA8)
+add_subdirectory(STARLIGHT)
+add_subdirectory(STAT)
+add_subdirectory(STRUCT)
+add_subdirectory(T0)
+add_subdirectory(TDPMjet)
+add_subdirectory(TEvtGen)
+add_subdirectory(THerwig)
+add_subdirectory(TOF)
 add_subdirectory(TPC)
+add_subdirectory(TRD)
+add_subdirectory(TRIGGER)
+add_subdirectory(TTherminator)
 add_subdirectory(VZERO)
-add_subdirectory (T0)
-add_subdirectory (TOF)
-add_subdirectory (TRD)
-add_subdirectory (ZDC)
-add_subdirectory (STRUCT)
-add_subdirectory (HMPID)
-add_subdirectory (PMD)
-add_subdirectory (MUON)
-add_subdirectory (FMD)
-#add_subdirectory (ACORDE)
-#add_subdirectory (EMCAL)
-#add_subdirectory (PHOS)
-#add_subdirectory (TRIGGER)
-#add_subdirectory (BCM)
-#add_subdirectory (CORRFW)
-#add_subdirectory (FASTSIM)
-#if(CMAKE_Fortran_COMPILER_WORKS)
-#  add_subdirectory (LHAPDF)
-#  add_subdirectory (PYTHIA6)
-#  add_subdirectory (MICROCERN)
-#endif(CMAKE_Fortran_COMPILER_WORKS)
-#add_subdirectory (EVGEN)
-#add_subdirectory (TUHKMgen)
-#add_subdirectory (TTherminator)
-#add_subdirectory (TPHIC)
-#add_subdirectory (THydjet)
-#add_subdirectory (PWG)
-#add_subdirectory (Vc)
-#add_subdirectory (HLT)
+add_subdirectory(ZDC)
+
+# Fortran modules
+if(CMAKE_Fortran_COMPILER)
+  add_subdirectory(DIME)
+  add_subdirectory(DPMJET)
+  add_subdirectory(HERWIG)
+  add_subdirectory(HIJING)
+  add_subdirectory(LHAPDF)
+  add_subdirectory(MICROCERN)
+  add_subdirectory(PYTHIA6)
+  add_subdirectory(TEPEMGEN)
+  add_subdirectory(THbtp)
+  add_subdirectory(THijing)
+  add_subdirectory(THydjet)
+  add_subdirectory(TPHIC)
+  add_subdirectory(TUHKMgen)
+  add_subdirectory(TAmpt)
+endif(CMAKE_Fortran_COMPILER)
+
+# Enable SHUTTLE compilation
+# Check if DIMDIR and ODIR are set
+if(SHUTTLE)
+    if(DIMDIR AND ODIR AND ALIEN)
+        add_subdirectory(SHUTTLE)
+    else()
+        message(FATAL_ERROR "SHUTTLE enabled! Please specify DIMDIR, ODIR and ALIEN")
+    endif()
+endif(SHUTTLE)
+
+add_subdirectory(ALIROOT)