+ This section describes how to build SALOME modules manually
+ from the sources distribution provided with the Installation Wizard.
+
+ 4.1. General procedure
+
+ SALOME build procedure is based on the GNU auto-tools:
+ automake, autoconf, libtool, etc. This chapter describes the
+ steps that should be done in order to compile and install
+ SALOME modules using GNU aotu-tools. Note, that some modules support also
+ cmake-based build procedure as alternative, moreover, for
+ PARAVIS module only cmake-based procedure is
+ available. Please refer to the paragraph 4.3 for more
+ details about cmake-based build procedure.
+
+ If you want to build SALOME modules from sources, install all prerequisite
+ products, required for the platform and SALOME modules sources.
+ Then follow the scenario described below.
+ 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_6.5.0 for KERNEL module of SALOME version 6.5.0.
+
+ Compilation and installation should be performed according to
+ the dependencies between modules:
+
+ Main SALOME modules:
+
+ * KERNEL -> no dependencies
+ * GUI -> KERNEL
+ * GEOM -> KERNEL, GUI
+ * MED -> KERNEL, GUI
+ * SMESH -> KERNEL, GUI, GEOM, MED
+ * VISU -> KERNEL, GUI, MED
+ * YACS -> KERNEL, GUI
+ * PARAVIS -> KERNEL, GUI, MED, VISU
+ * HEXABLOCK -> KERNEL, GUI, GEOM
+ * HOMARD -> KERNEL, GUI, MED, 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
+
+ Sample modules:
+
+ * COMPONENT -> KERNEL, MED
+ * PYCALCULATOR -> KERNEL, MED
+ * CALCULATOR -> KERNEL, MED
+ * HELLO -> KERNEL, GUI
+ * PYHELLO -> KERNEL, GUI
+ * LIGHT -> KERNEL, GUI
+ * PYLIGHT -> KERNEL, GUI
+ * RANDOMIZER -> KERNEL, GUI
+ * SIERPINSKY -> KERNEL, GUI, MED, VISU, RANDOMIZER
+ * ATOMIC -> KERNEL, GUI
+ * ATOMGEN -> KERNEL, GUI
+ * ATOMSOLV -> KERNEL, GUI, ATOMGEN
+
+ 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
+ algorithms and do not want to build samples.
+
+ Note: Meshing plug-ins BLSURFPLUGIN, HexoticPLUGIN, GHS3DPLUGIN and
+ GHS3DPRLPLUGIN require commercial license for the Distene
+ meshers in runtime mode. Moreover, BLSURFPLUGIN requires
+ blsurf product at the compilation time. Without it, the
+ BLSURFPLUGIN meshing plugin compilation will fail. Refer
+ to http://www.distene.com/ for more details.
+
+ In general, each module (except for KERNEL and GUI) is
+ optional for SALOME. If you do not need a certain module, just do not
+ compile or install it. But remember that some modules require others
+ to be built first (see dependencies table above).
+
+ To build KERNEL module:
+
+ - go to installation root directory (/home/user/salome in this example):
+
+ cd /home/user/salome
+
+ - to set environment variables use bash or csh script, depending on
+ your shell:
+
+ source ./env_products.csh
+ or
+ source ./env_products.sh
+
+ - create build directory for the KERNEL module:
+
+ mkdir KERNEL_build
+ cd KERNEL_build
+
+ - create a configuration script by typing
+
+ ../KERNEL_SRC_6.5.0/build_configure
+
+ - run configure script which will check the environment and create
+ Makefile files:
+
+ ../KERNEL_SRC_6.5.0/configure --prefix=/home/user/salome/KERNEL-6.5.0
+
+ Note, that --prefix option defines the directory where you want to
+ install KERNEL module after 'make install' procedure. configure script
+ also accepts a lot of other parameters (for example, to build the module
+ in the Release mode use --disable-debug --enable-production keys).
+ You can learn more about the configure of any modules by using --help (-h)
+ parameter.
+
+ - build and install KERNEL module:
+
+ make
+ make install
+
+ After you have completed this scenario, KERNEL module is built and
+ installed into /home/user/salome/KERNEL-6.5.0 directory.
+
+ - modify your environment scripts:
+
+ * for bash:
+
+ export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-6.5.0
+
+ * for csh:
+
+ setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-6.5.0
+
+ - then repeat this scenario for other modules you want to build taking
+ into account the dependencies between modules (see dependencies table
+ above).
+
+ Note: if the compilation fails it may be caused by bad environment.
+ In this case you should check if the environment script that you use
+ (salome.csh or salome.sh) contains the following lines for each module MODULE:
+
+ * for bash:
+
+ export MODULE_ROOT_DIR=/home/user/salome/<MODULE_distribution>
+
+ * for csh:
+
+ setenv MODULE_ROOT_DIR /home/user/salome/<MODULE_distribution>
+
+ where <MODULE_distribution> is a MODULE-6.5.0 (see above).
+
+ 4.2. Automatic build procedure: build.csh and build.sh scripts
+
+ 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).
+
+ 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.
+
+ To use the script just install SALOME sources packages with the
+ Installation Wizard, then cd to the SALOME installation directory
+ and type:
+
+ ./build.csh
+
+ By default, build.csh 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
+ directory SALOME modules should be installed to.
+
+ 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
+
+ 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
+
+ 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
+ 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.
+
+ Note: use -d option carefully because in this case the script removes
+ 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
+
+ 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.
+
+ This paragraph describes the steps that should be done in
+ order to build SALOME modules using cmake.
+
+ For example, to build KERNEL module:
+
+ - go to installation root directory (/home/user/salome in this example):