Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more respect to others privacy
[simgrid.git] / buildtools / Cmake / README
1 PART I --Using CPACK CMAKE CTEST--
2
3 Open a terminal to simgrid/trunk directory.
4 Then execute
5
6         "cmake ./" configure the project (for options see partII)
7         "make" build all tagets
8         "make test" test all targets and summarize
9         "make package" make the distrib (doc is needed see partII)
10         "make install-simgrid" install the project (doc/ lib/ include/)
11         "make clean" clean all targets
12
13 More details :
14 from a svn repository generally make :
15
16         cmake -Denable_maintainer_mode=on ./
17         make 
18         make test
19
20 from a distrib repository generally make :
21
22         cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
23         make
24         make install-simgrid
25
26
27 PART II --OPTIONS--
28
29 Regarding options you can configure manually or with an executable
30
31 manually : "cmake -D[name]=[value] ... ./"
32
33 [name]          disable_gtnets                  [value] ON/OFF or TRUE/FALSE or 1/0
34                 disable_java                            ON/OFF or TRUE/FALSE or 1/0
35                 disable_lua                             ON/OFF or TRUE/FALSE or 1/0
36                 disable_ruby                            ON/OFF or TRUE/FALSE or 1/0
37
38                 enable_compile_optimizations            ON/OFF or TRUE/FALSE or 1/0
39                 enable_compile_warnings                 ON/OFF or TRUE/FALSE or 1/0
40                 enable_maintainer_mode                  ON/OFF or TRUE/FALSE or 1/0
41                 
42                 supernovae                              ON/OFF or TRUE/FALSE or 1/0
43
44                 gtnets_path                             <path_to_gtnets_directory>
45                 prefix                                  <path_to_install_directory>
46                 with_context                            auto/ucontext/pthread/window
47
48 executable : "ccmake ./" then follow instructions.
49
50 PART III --Explaination of options-- 
51
52         -->disable_gtnets : set to true implie that user doesn't want to use gtnets.
53
54         -->disable_java : set to true implie that user doesn't want to add java langage into simgrid compilation.
55
56         -->disable_lua : set to true implie that user doesn't want to add lua langage into simgrid compilation.
57
58         -->disable_ruby : set to true implie that user doesn't want to add ruby langage into simgrid compilation.
59
60         -->enable_compile_optimizations : add flags "-O3 -finline-functions -funroll-loops -fno-strict-aliasing"
61
62         -->enable_compile_warnings : add flags "-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror"
63
64         -->enable_maintainer_mode : set to true make doc and remake files with flex flexml.
65                                                                         /doc/html
66                                                                         /src/gras/DataDesc/ddt_parse.yy.c
67                                                                         /src/surf/simgrid_dtd.c
68                                                                         /src/xbt/graphxml.c
69                                                                         /src/simdag/dax_dtd.c
70                                                                         /include/surf/simgrid_dtd.h
71                                                                         /include/xbt/graphxml.h
72                                                                         /src/simdag/dax_dtd.h
73
74         -->supernovae : set to true make one file for each lib and compile with those generated files.
75                                                                         /src/supernovae_sg.c
76                                                                         /src/supernovae_gras.c                  
77                                                                         /src/supernovae_smpi.c
78
79         -->gtnets_path : Path to gtnets install directory (ex /usr)
80
81         -->prefix : Path where are installed lib/ doc/ and include/ directories (ex /usr/local)
82
83         -->with context : specify which context the user wants to use.
84
85
86
87 Exemple of use and compilation result:
88
89 navarrop@caraja:~$ cd Bureau/simgrid-trunk/
90 navarrop@caraja:~/Bureau/simgrid-trunk$ cmake ./
91
92 GTnetS doesn't works : set -Ddisable_gtnets=on                  <-|some warnings are printed 
93 with_context auto change to ucontext                            <-|
94 (skaddr)                                                        <--info (needed)
95 (sksize)                                                        <--info (needed)
96 Make : src/simgrid.jar with : /usr/bin/javac                    <--info (if java)
97 Make examples/java with : /usr/bin/javac                        <--info (if java)
98
99 Configuration of package `simgrid' (revision 7209M) on arch (=4):
100         BUILDNAME :             UCONTEXT                                <-- name of the compilation regarding to cdash
101              SITE :             Linux_Ubuntu 9.10_x86_64                <-- distribution of the local machine regarding to cdash
102
103         Compiler: c++ :         /usr/bin/c++
104                version:         c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
105                   c   :         /usr/bin/gcc
106                version:         gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
107
108         CFlags:                 -g3
109         CPPFlags:               
110         LDFlags:                
111
112         Context backend:        ucontext
113         Compile Gtnets:         0
114                   path:         
115         Compile Java:           1
116         Compile Lua:            1
117         Compile Ruby:           0
118
119         Maintainer mode:        OFF
120         Supernovae mode:        OFF
121
122         Simgrid dependencies:   -ldl -llua5.1
123         Gras dependencies:      pthread
124         Ruby dependencies:      
125         Smpi dependencies:      
126
127         USER_PREFIX:            /usr/local
128         INSTALL_PREFIX:         /usr/local
129
130 -- Configuring done
131 -- Generating done
132 -- Build files have been written to: /home/navarrop/Bureau/simgrid-trunk
133
134 Here all options are checked and printed. If it doesn't match with your configuration it is probably due to a wrong configuration.
135
136
137
138
139
140