fix oadb for MC
[u/mrichter/AliRoot.git] / README_CMake
... / ...
CommitLineData
1
2Note: The CMake build of AliRoot builds out-of-source
3
4Steps to Build AliRoot with CMake :
5
61. Check out Aliroot source into a folder (usually specified by the environment variable ALICE)
7
8 cd $ALICE
9 svn co https://alisoft.cern.ch/AliRoot/trunk AliRoot
10
11Note: Please use https:// if you want to be able to commit changes to the SVN repository.
12
132. Set the environment variable ALICE_ROOT to point to the source you have checked out
14
15 cd AliRoot
16 export ALICE_ROOT=`pwd`
17
18
193. Create a new folder where the build will take place. It must be different from the source directory!
20
21 cd ..
22 mkdir objdir
23 cd objdir
24
254. Optionally specify the place for installation using the environment variable ALICE_INSTALL.
26It you do not specify it, "make install" will put lib, bin and include in ALICE_ROOT
27
285. Optionally specify the location of Geant3 using the environment variable GEANT3DIR
29
306. Execute the following commands to configure the build
31
32 cmake $ALICE_ROOT
33
34
35Note: Some files CMakeLists.txt will be created in the source tree, so you need write access there. This
36is a temporary situation that will change soon.
37
38 6a.Run
39 cmake -DCMAKE_BUILD_TYPE=DEBUG $ALICE_ROOT
40 to compile AliRoot in Debug configuration (-g compiler flags).
41
42 To change the configuration later on you can either
43 edit cache variable CMAKE_BUILD_TYPE using 'ccmake' command ('None' value for default configuration),
44
45 or setup default configuration (-O -g flags are setting up) by running
46 cmake $ALICE_ROOT
47
48 6b. To compile AliRoot in Release mode (-03 flag) run
49 cmake -DCMAKE_BUILD_TYPE=Release $ALICE_ROOT
50
51 6c. Command
52 cmake -DCMAKE_BUILD_TYPE=RelRelWithDebInfo $ALICE_ROOT
53 allows to compile AliRoot with -g -O2 options.
54
55Please note! The default values for these flags change with different compilers.
56If CMake does not know your compiler, the contents will be empty.
57
58
597. Build and install AliRoot. Note that the parralel build is fully operational with CMake.
60
61 make -j4
62 make install
63
64If you make changes in the source tree, it is enough to do
65
66 make
67 make install
68
69to get them in use.
70
719. In order to build addtional targets like THydjet and SHUTTLE add the following options to the cmake command
72
73 cmake -DTHydjet=ON -DSHUTTLE=ON <path_to_source>
74
7510. Static libraries can be built using
76
77 make alilibs-static
78
7911. Individual Modules can be built using
80
81 make <Module>-all
82 make <Module>-all-static
83
84eg. make STEER-all STEER-all-static
85
8612. Individual Packages can be built using
87
88 make <Package>
89 make <Package>-static
90
91eg. make STEERbase STEERbase-static
92
9313. The code can be checked for the ALICE coding conventions on a package, module or class level using the following targets.
94
95 make check-all
96 make <Module>-check-all
97 make <Package>-check
98 make <Module>-<ClassName>-check // To use this run cmake with -DCLASSCHECK="YES" option. It is turned off by default since it bloats the Makefile and slows down the internal makefile rule checking
99
100 The resulting violations will be written to the folder <Build_Directory>/<Module>/check/viols
101
10214. To Build PARs the following targets can be used. The resulting packages will be created in the cmake build directory
103
104 make par-all
105 make <Package>.par
106 make <Module>-par-all //build all par packages in the module
107
10815. To test PARs after building run
109
110 make test-par-all
111 make test-<Package>
112 make test-<Module>-par-all
113
114!IMPORTANT! - Make sure your source folder is clean. If you used the old make system to build aliroot run make clean in the source directory before you run cmake
115
116