X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=CMakeLists.txt;h=dc43a4d24ad8b2f7aee9d834b964b4d3592868f1;hb=f1b16b218d79790b15a96788f08f51fa6cf51c6e;hp=3493df4dc1f90ac43ece66e7de8587c96f9554fb;hpb=e706c0820f4c08344a8f150bd8bf84bca0df6619;p=u%2Fmrichter%2FAliRoot.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 3493df4dc1f..dc43a4d24ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,28 +17,104 @@ # Set Basic CMake Configuration # #--------------------------------------------------------------------------# -cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) +cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR) project(AliRoot CXX C) # Path to additonal modules -set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") +set(CMAKE_MODULE_PATH "${AliRoot_SOURCE_DIR}/cmake") + +# AliRoot version extracted from Git repository +# Sets 4 git variables +# - GIT_REFSPEC - complete name of the current reference +# - ALIROOT_BRANCH - name of the branch or tag extracted from the current reference +# - GIT_SHA1 - current hash in the long format +# - GIT_SHORT_SHA1 - current hash in the short format +# - ALIROOT_VERSION = ALIROOT_BRANCH +# - ALIROOT_REVISION = GIT_SHORT_SHA1 +include(CheckGitVersion) # - CLANG_MAJOR.CLANG_MINOR or # - GCC_MAJOR.GCC_MINOR.GCC_PATCH include(CheckCompiler) +# You can change the build type using +# cmake -DCMAKE_BUILD_TYPE=DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL... +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RELWITHDEBINFO) +endif(NOT CMAKE_BUILD_TYPE) + # 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 +# date-config needs DIMDIR and ODIR set +if(DATE_CONFIG) + if(DIMDIR AND ODIR) + find_package(DATE) + else() + message(FATAL_ERROR "DATE enabled but no DIMDIR and ODIR set. Please set DIMDIR and ODIR") + endif() +endif() + +# daqDA +if(daqDA) + find_package(daqDA) +endif(daqDA) + +# AMORE +if(AMORE_CONFIG) + if(ROOTSYS) + find_package(AMORE) + else() + message(FATAL_ERROR "AMORE enabled but no ROOTSYS defined") + endif() +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) + +# MDC rpm creation enables the static build +if(MDCRPM) + set(ALIROOT_STATIC TRUE) + message(STATUS "AliMDC RPM enabled. AliRoot static build enabled") +endif(MDCRPM) + # 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(NOT ROOT_HASXML) else() message(FATAL_ERROR "ROOT installation not found!\nPlease point to the ROOT installation using -DROOTSYS=ROOT_INSTALL_DIR") endif(ROOTSYS) @@ -59,12 +135,35 @@ check_language(Fortran) if(CMAKE_Fortran_COMPILER) enable_language(Fortran OPTIONAL) else() - message("No Fortran support. Disabling LHAPDF, PHYTIA6, MICROCERN, etc.") + 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) @@ -72,19 +171,14 @@ find_package(FASTJET) # ZEROMQ find_package(ZeroMQ) -# AliRoot version extracted from Git repository -# Sets 4 git variables -# - GIT_REFSPEC - complete name of the current reference -# - ALIROOT_BRANCH - name of the branch or tag extracted from the current reference -# - GIT_SHA1 - current hash in the long format -# - GIT_SHORT_SHA1 - current hash in the short format -include(CheckGitVersion) - message(STATUS "CMake platform: ${CMAKE_SYSTEM}") 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) +set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE) # AliRoot base modules add_subdirectory(STEER) @@ -122,6 +216,7 @@ add_subdirectory(STARLIGHT) add_subdirectory(STAT) add_subdirectory(STRUCT) add_subdirectory(T0) +add_subdirectory(TDPMjet) add_subdirectory(TEvtGen) add_subdirectory(THerwig) add_subdirectory(TOF) @@ -134,6 +229,8 @@ add_subdirectory(ZDC) # Fortran modules if(CMAKE_Fortran_COMPILER) + add_subdirectory(DIME) + add_subdirectory(DPMJET) add_subdirectory(HERWIG) add_subdirectory(HIJING) add_subdirectory(LHAPDF) @@ -145,8 +242,22 @@ if(CMAKE_Fortran_COMPILER) add_subdirectory(THydjet) add_subdirectory(TPHIC) add_subdirectory(TUHKMgen) + add_subdirectory(TAmpt) endif(CMAKE_Fortran_COMPILER) +# PWG libraries +add_subdirectory(PWG) +# Depends on PWGCF - To fix dependencies +add_subdirectory(PWGGA) +# Depends on CF - To fix the dependencies +add_subdirectory(PWGDQ) +add_subdirectory(PWGHF) +# Depends on CF +add_subdirectory(PWGJE) +add_subdirectory(PWGLF) +add_subdirectory(PWGPP) +add_subdirectory(PWGUD) + # Enable SHUTTLE compilation # Check if DIMDIR and ODIR are set if(SHUTTLE) @@ -156,3 +267,5 @@ if(SHUTTLE) message(FATAL_ERROR "SHUTTLE enabled! Please specify DIMDIR, ODIR and ALIEN") endif() endif(SHUTTLE) + +add_subdirectory(ALIROOT)