Salome HOME
add doc/build for EZ direct html or pdf
[tools/sat.git] / doc / build / html / _sources / commands / compile.txt
1
2 .. include:: ../../rst_prolog.rst
3
4 Command compile
5 ****************
6
7 Description
8 ===========
9 The **compile** command allows compiling the products of a SALOME_ application.
10
11
12 Usage
13 =====
14 * Compile a complete application: ::
15
16     sat compile <application>
17
18 * Compile only some products: ::
19
20     sat compile <application> --products <product1>,<product2> ... 
21
22 * Use *sat -t* to duplicate the logs in the terminal (by default the log are stored and displayed with *sat log* command): ::
23
24     sat -t compile <application> --products <product1>
25
26 * Compile a module and its dependencies: ::
27
28     sat compile <application> --products med --with_fathers
29
30 * Compile a module and the modules depending on it (for example plugins): ::
31   
32     sat compile <application> --products med --with_children
33
34 * Clean the build and install directories before starting compilation: ::
35
36     sat compile <application> --products GEOM  --clean_all
37
38   .. note:: | a warning will be shown if option *--products* is missing
39             | (as it will clean everything)
40
41 * Clean only the install directories before starting compilation: ::
42
43     sat compile <application> --clean_install
44
45 * Add options for make: ::
46
47     sat compile <application> --products <product> --make_flags <flags>
48
49 * Use the *--check* option to execute the unit tests after compilation: ::
50
51     sat compile <application> --check
52
53 * Remove the build directory after successful compilation (some build directory like qt are big): ::
54
55     sat compile <application> --products qt --clean_build_after
56
57 * Stop the compilation as soon as the compilation of a module fails: ::
58   
59     sat compile <product> --stop_first_fail
60
61 * Do not compile, just show if products are installed or not, and where is the installation: ::
62
63     sat compile <application> --show
64
65
66 Some useful configuration pathes
67 =================================
68
69 The way to compile a product is defined in the *pyconf file configuration*.
70 The main options are: 
71
72   * **build_source** : the method used to build the product (cmake/autotools/script)
73   * **compil_script** : the compilation script if build_source is equal to "script"
74   * **cmake_options** : additional options for cmake.
75   * **nb_proc** : number of jobs to use with make for this product.