2 .. include:: ../../rst_prolog.rst
9 The **compile** command allows compiling the products of a SALOME_ application.
14 * Compile a complete application: ::
16 sat compile <application>
18 * Compile only some products: ::
20 sat compile <application> --products <product1>,<product2> ...
22 * Use *sat -t* to duplicate the logs in the terminal (by default the log are stored and displayed with *sat log* command): ::
24 sat -t compile <application> --products <product1>
26 * Compile a module and its dependencies: ::
28 sat compile <application> --products med --with_fathers
30 * Compile a module and the modules depending on it (for example plugins): ::
32 sat compile <application> --products med --with_children
34 * Clean the build and install directories before starting compilation: ::
36 sat compile <application> --products GEOM --clean_all
38 .. note:: | a warning will be shown if option *--products* is missing
39 | (as it will clean everything)
41 * Clean only the install directories before starting compilation: ::
43 sat compile <application> --clean_install
45 * Add options for make: ::
47 sat compile <application> --products <product> --make_flags <flags>
49 * Use the *--check* option to execute the unit tests after compilation: ::
51 sat compile <application> --check
53 * Remove the build directory after successful compilation (some build directory like qt are big): ::
55 sat compile <application> --products qt --clean_build_after
57 * Stop the compilation as soon as the compilation of a module fails: ::
59 sat compile <product> --stop_first_fail
61 * Do not compile, just show if products are installed or not, and where is the installation: ::
63 sat compile <application> --show
66 Some useful configuration pathes
67 =================================
69 The way to compile a product is defined in the *pyconf file configuration*.
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.