2 # The name of our project is "AliRoot".
4 # Check if cmake has the required version
5 Cmake_Minimum_Required(VERSION 2.6 FATAL_ERROR)
7 # Set name of our project to AliRoot. To be done after check of cmake version
10 # Set AliRoot variables
11 Set(ALICE_ROOT $ENV{ALICE_ROOT})
12 Set(ALICE $ENV{ALICE})
13 Set(ALICE_STATIC_BUILD ON CACHE BOOL "Build also statics libs")
15 #Set(CMAKE_VERBOSE_MAKEFILE ON)
17 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/
18 Set(CMAKE_MODULE_PATH "${ALICE_ROOT}/cmake/modules")
20 # Load some basic macros which are needed later on
21 #Include(WriteConfigFile)
25 # Check if the user wants to build the project in the source directory
26 Check_out_of_Source_Build()
28 # searches for needed packages
31 Find_package(ROOT 5.0.0 REQUIRED)
32 Enable_Language(Fortran)
33 Set(ALIROOT_INSTALL_DIR ${ALICE_ROOT}/${ALICE_TARGET})
36 Find_package(GEANT3 REQUIRED)
39 Find_Package(RuleChecker)
41 # Check if DATE is installed
44 # Setup system dependent flags
47 # Set the library version in the main CMakeLists.txt
48 SET(ALIROOT_MAJOR_VERSION 0)
49 SET(ALIROOT_MINOR_VERSION 0)
50 SET(ALIROOT_PATCH_VERSION 0)
51 SET(ALIROOT_VERSION "${ALIROOT_MAJOR_VERSION}.${ALIROOT_MINOR_VERSION}.${ALIROOT_PATCH_VERSION}")
52 SET(ALIROOT_LIBRARY_PROPERTIES ${ALIROOT_LIBRARY_PROPERTIES}
53 VERSION "${ALIROOT_VERSION}"
54 SOVERSION "${ALIROOT_MAJOR_VERSION}"
58 # Set version variables
59 Execute_process(COMMAND svn info $ENV{ALICE_ROOT}
60 OUTPUT_VARIABLE _svn_out)
62 String(REGEX REPLACE "^.*Revision: ([^\n]*).*$" "\\1"
63 ALIROOT_SVN_REVISION ${_svn_out})
64 String(REGEX REPLACE "^.*URL: https://alisoft.cern.ch/AliRoot/([^\n]*).*$" "w \\1"
65 ALIROOT_SVN_BRANCH ${_svn_out})
68 Add_Custom_Target(check-all COMMENT "Checking coding conventions")
70 # Configure special include file
72 Set(_in ${CMAKE_CURRENT_SOURCE_DIR}/STEER/ARVersion.h.in)
73 Set(_out ${CMAKE_CURRENT_BINARY_DIR}/STEER/ARVersion.h)
74 Add_custom_target(ARversion ALL
76 -e "s/\\@ALIROOT_SVN_REVISION\\@/${ALIROOT_SVN_REVISION}/"
77 -e "s/\\@ALIROOT_SVN_BRANCH\\@/${ALIROOT_SVN_BRANCH}/"
78 -e "s/\\@ALIROOT_VERSION\\@/${ALIROOT_VERSION}/" > ${_out})
79 Install(FILES ${_out} DESTINATION ${ALIROOT_INSTALL_DIR}/include)
82 # This would work, but just once... we want this to happen at every make
83 # Configure_file(${CMAKE_CURRENT_SOURCE_DIR}/STEER/ARVersion.h.in
84 #${CMAKE_CURRENT_BINARY_DIR}/STEER/ARVersion.h @ONLY)
86 # Recurse into the given subdirectories. This does not actually
87 # cause another cmake executable to run. The same process will walk through
88 # the project's entire directory structure.
90 #Add_subdirectory(PYTHIA8)
91 #Add_subdirectory(TFluka)
92 #Add_subdirectory(THydjet)
94 Add_subdirectory(ACORDE)
95 Add_subdirectory(ANALYSIS)
97 Add_subdirectory(CORRFW)
98 Add_subdirectory(DPMJET)
99 Add_subdirectory(EMCAL)
100 Add_subdirectory(ESDCheck)
101 Add_subdirectory(EVE)
102 Add_subdirectory(EVGEN)
103 Add_subdirectory(FASTSIM)
104 Add_subdirectory(FMD)
105 Add_subdirectory(HBTAN)
106 Add_subdirectory(HERWIG)
107 Add_subdirectory(HIJING)
108 Add_subdirectory(HLT)
109 Add_subdirectory(HMPID)
110 Add_subdirectory(ITS)
111 Add_subdirectory(JETAN)
112 Add_subdirectory(LHAPDF)
113 Add_subdirectory(LHC)
114 Add_subdirectory(MICROCERN)
115 Add_subdirectory(MONITOR)
116 Add_subdirectory(MUON)
117 Add_subdirectory(PHOS)
118 Add_subdirectory(PMD)
119 Add_subdirectory(PWG0)
120 Add_subdirectory(PWG1)
121 Add_subdirectory(PWG2)
122 Add_subdirectory(PWG3)
123 Add_subdirectory(PWG4)
124 Add_subdirectory(PYTHIA6)
125 Add_subdirectory(RALICE)
126 Add_subdirectory(RAW)
127 Add_subdirectory(STAT)
128 Add_subdirectory(STEER)
129 Add_subdirectory(STRUCT)
131 Add_subdirectory(TDPMjet)
132 Add_subdirectory(TEPEMGEN)
133 Add_subdirectory(THbtp)
134 Add_subdirectory(THerwig)
135 Add_subdirectory(THijing)
136 Add_subdirectory(TIsajet)
137 Add_subdirectory(TOF)
138 Add_subdirectory(TPC)
139 Add_subdirectory(TPHIC)
140 Add_subdirectory(TRD)
141 Add_subdirectory(TTherminator)
142 Add_subdirectory(VZERO)
143 Add_subdirectory(ZDC)
145 Add_subdirectory(ALIROOT)