4. How to build SALOME modules from sources
4.1. General procedure
- 4.2. Automatic build procedure: build.csh script
+ 4.2. Automatic build procedure: build.sh script
4.3. Build SALOME using cmake
================================================================================
source salome.csh
where <KERNEL_ROOT_DIR> is KERNEL binaries directory, e.g.
- KERNEL_7.2.0 for the 7.2.0 version.
+ KERNEL_7.4.0 for the 7.4.0 version.
2.2. Launching of SALOME
After you set environment you can start SALOME. Go to the KERNEL
- module's binaries directory (KERNEL_7.2.0/bin/salome for the version
- 7.2.0) by using of 'cd' command and then type:
+ module's binaries directory (KERNEL_7.4.0/bin/salome for the version
+ 7.4.0) by using of 'cd' command and then type:
runSalome [<parameters>]
In this scenario it is supposed that you have installed SALOME
modules sources in the /home/user/salome directory. The name of each module
sources directory depends on the version of the platform, for example,
- KERNEL_SRC_7.2.0 for KERNEL module of SALOME version 7.2.0.
+ KERNEL_SRC_7.4.0 for KERNEL module of SALOME version 7.4.0.
Compilation and installation should be performed according to
the dependencies between modules:
* GUI -> KERNEL
* GEOM -> KERNEL, GUI
* MED -> KERNEL, GUI
- * SMESH -> KERNEL, GUI, GEOM, MED
+ * SMESH -> KERNEL, GUI, GEOM
* YACS -> KERNEL, GUI
* PARAVIS -> KERNEL, GUI, MED
* HEXABLOCK -> KERNEL, GUI, GEOM
- * HOMARD -> KERNEL, GUI, MED, SMESH
+ * HOMARD -> KERNEL, GUI, GEOM, SMESH
* JOBMANAGER -> KERNEL, GUI
SMESH plugins:
- * NETGENPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * GHS3DPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * GHS3DPRLPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * BLSURFPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
- * HexoticPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH, BLSURFPLUGIN
- * HEXABLOCKPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH, HEXABLOCK
+ * NETGENPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * GHS3DPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * GHS3DPRLPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * BLSURFPLUGIN -> KERNEL, GUI, GEOM, SMESH
+ * HexoticPLUGIN -> KERNEL, GUI, GEOM, SMESH, BLSURFPLUGIN
+ * HEXABLOCKPLUGIN -> KERNEL, GUI, GEOM, SMESH, HEXABLOCK
Sample modules:
* COMPONENT -> KERNEL, MED
* CALCULATOR -> KERNEL, MED
+ * PYCALCULATOR -> KERNEL, MED
* HELLO -> KERNEL, GUI
* PYHELLO -> KERNEL, GUI
* LIGHT -> KERNEL, GUI
* ATOMIC -> KERNEL, GUI
* ATOMGEN -> KERNEL, GUI
* ATOMSOLV -> KERNEL, GUI, ATOMGEN
+ * RANDOMIZER -> KERNEL
+ * SIERPINSKY -> KERNEL, GUI, RANDOMIZER, SMESH
+
+ Other:
+
+ * DOCUMENTATION -> no dependencies
Note: SMESH plugins and sample modules are optional. You may skip
compiling them if you do not plan to use NETGEN and/or GHS3D meshing
- create a configuration script by typing
- ../KERNEL_SRC_7.2.0/build_configure
+ ../KERNEL_SRC_7.4.0/build_configure
- run configure script which will check the environment and create
Makefile files:
- ../KERNEL_SRC_7.2.0/configure --prefix=/home/user/salome/KERNEL-7.2.0
+ ../KERNEL_SRC_7.4.0/configure --prefix=/home/user/salome/KERNEL-7.4.0
Note, that --prefix option defines the directory where you want to
install KERNEL module after 'make install' procedure. configure script
make install
After you have completed this scenario, KERNEL module is built and
- installed into /home/user/salome/KERNEL-7.2.0 directory.
+ installed into /home/user/salome/KERNEL-7.4.0 directory.
- modify your environment scripts:
* for bash:
- export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.2.0
+ export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
* for csh:
- setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.2.0
+ setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.4.0
- then repeat this scenario for other modules you want to build taking
into account the dependencies between modules (see dependencies table
setenv MODULE_ROOT_DIR /home/user/salome/<MODULE_distribution>
- where <MODULE_distribution> is a MODULE-7.2.0 (see above).
-
- 4.2. Automatic build procedure: build.csh and build.sh scripts
+ where <MODULE_distribution> is a MODULE-7.4.0 (see above).
- SALOME Installation Wizard includes two scripts which can be used
- for automatic building of SALOME modules from sources packages:
- build.csh and build.sh. The scripts are installed into the top-level
- installation directory (the same directory where env_products.[c]sh
- files are generated).
+ 4.2. Automatic build procedure: build.sh script
- The build.csh and buils.sh scripts implement the same functionality
- and support the same set of options, but for different shells.
- Use build.csh script for csh and build.sh for bash.
- The description below refers to both scripts.
+ SALOME Installation Wizard includes build.sh script which can be used
+ for automatic building of SALOME modules from sources packages.
+ This script is copied into the top-level installation directory
+ (the same directory where env_products.[c]sh files are generated).
To use the script just install SALOME sources packages with the
Installation Wizard, then cd to the SALOME installation directory
and type:
- ./build.csh
+ ./build.sh
- By default, build.csh builds and installs all SALOME
+ By default, build.sh builds and installs all SALOME
modules. All modules are installed to the INSTALL subfolder
of the current directory. If you need to change the installation
directory, you can use -p <prefix> option where <prefix> is the
If you want to build only some subset of SALOME modules,
just pass them as parameters, e.g.:
- ./build.csh -p /home/user/salome KERNEL MED GEOM
+ ./build.sh -p /home/user/salome KERNEL MED GEOM
The script also provides other options which specify compiling and
installation parameters. You can learn about these options by using
-h key:
- ./build.csh -h
+ ./build.sh -h
- When you run build.csh for the first time it is not necessary to pass
- -b or -c parameters. The script detects if build procedure has not yet
- been performed and in this case runs build_configure, configure scripts
- automatically.
-
- Note: to avoid collisions it is recommended not to install
+ Note: to avoid collisions it is recommended to avoid installation of
SALOME binaries packages with Installation Wizard if you plan to build
- SALOME modules from sources packages or to edit/comment all rows
- in env_products.csh file concerning binaries packages.
+ SALOME modules from sources packages; if you still install binary
+ packages of SALOME module, you can manually edit env_products.[c]sh
+ scripts by commenting all rows concerning environment of SALOME
+ binaries packages.
- Note: use -d option carefully because in this case the script removes
+ Note: use -d option of the build.sh script carefully because
+ when this option is specified to the script, it can remove
the existing (previously installed) SALOME modules.
- Note: build.(c)sh scripts do not modify the environment files
- (env_products.csh, etc). You should do it by yourself.
-
- 4.3. Build SALOME using cmake
+ Note: build.sh script does not modify the environment files
+ (env_products.[c]sh, env_build.[c]sh). You should do it by yourself.
- Some (but not all) SALOME modules can be built using
- cmake. If you want to learn what modules can be built with
- cmake, just check the root source directory and look for
- CMakeLists.txt file or build_cmake script.
+ 4.3. Build SALOME modules manually
- This paragraph describes the steps that should be done in
- order to build SALOME modules using cmake.
+ The build procedure of all SALOME modules is implemented with
+ CMake. This paragraph describes the steps that can be done in
+ order to build SALOME modules manually.
For example, to build KERNEL module:
or
source ./env_products.sh
- - generate CMakeLists.txt files:
-
- cd KERNEL_SRC_7.2.0
- ./build_cmake
- cd ..
-
- Note, that this step is not required for PARAVIS module,
- since it is already supplied with the CMakeLists.txt
- files. For other modules, build_cmake script generates
- CMakeLists.txt files from the Makefile.am files.
-
- create build directory for the KERNEL module:
mkdir KERNEL_build
- run cmake
- cmake -DCMAKE_INSTALL_PREFIX=/home/user/salome/KERNEL-7.2.0 ../KERNEL_SRC_7.2.0
+ cmake -DCMAKE_INSTALL_PREFIX=/home/user/salome/KERNEL-7.4.0 ../KERNEL_SRC_7.4.0
Note, that -DCMAKE_INSTALL_PREFIX option defines the directory where you want to
install KERNEL module after 'make install' procedure. You
make install
After you have completed this scenario, KERNEL module is built and
- installed into /home/user/salome/KERNEL-7.2.0 directory.
+ installed into /home/user/salome/KERNEL-7.4.0 directory.
- modify your environment scripts:
* for bash:
- export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.2.0
+ export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
* for csh:
- setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.2.0
+ setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.4.0
================================================================================