Salome HOME
Modify the way the application is generated within KERNEL module installation procedure
[tools/install.git] / README
diff --git a/README b/README
index 2c50ae376eebe08d5caa605b0bb8c5f4827c4e5a..092e9cb1d2d1fedcd894c875b32db7ad845f746a 100644 (file)
--- a/README
+++ b/README
@@ -18,7 +18,8 @@
 
   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
 
 ================================================================================
 
@@ -51,7 +52,7 @@
      If the appropriate file is not found, the warning message is shown. 
      If this option is not used then the installation script tries to
      define the Linux version and use the corresponding XML file. 
-     For example, for the Linux Mandriva 2006.0 the config_Mandriva_2006.0.xml 
+     For example, for the Linux Mandriva 2010.0 the config_Mandriva_2010.0.xml 
      file will be used by default.
 
      -d DIR / --target=DIR
                source salome.csh
 
           where <KERNEL_ROOT_DIR> is KERNEL binaries directory, e.g. 
-          KERNEL_6.3.0 for the 6.3.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_6.3.0/bin/salome for the version 
-          6.3.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>]
 
            <parameter name="xterm"      value="no"/>
            <parameter name="portkill"   value="no"/>
            <parameter name="killall"    value="no"/>
-           <parameter name="modules"    value="GEOM,SMESH,VISU,MED,YACS"/>
+           <parameter name="modules"    value="GEOM,SMESH,MED,YACS,PARAVIS"/>
            <parameter name="embedded"   value="SalomeAppEngine"/>
            <parameter name="standalone" value="study,pyContainer,cppContainer,registry,moduleCatalog"/>
          </section>
           then builds each product using the product's own compilation 
           procedure.
           The installation time also depends on the computer and platform used.
-          For example, to install SALOME on Pentium IV-3GHz, Linux Mandriva 2006.0,
+          For example, to install SALOME on Pentium IV-3GHz, Linux Mandriva 2010.0,
           time of the installation is:
 
                - from binaries: ~15 minutes;
-               - from sources: more than 24 hours.
+               - from sources: more than 20 hours.
 
      3.2. Log files
 
 
      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.3.0 for KERNEL module of SALOME version 6.3.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
-          * VISU -> KERNEL, GUI, MED
+          * SMESH -> KERNEL, GUI, GEOM
           * YACS -> KERNEL, GUI
+         * PARAVIS -> KERNEL, GUI, MED
+         * HEXABLOCK -> KERNEL, GUI, GEOM
+         * 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
-          * HexoticPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
-          * BLSURFPLUGIN -> KERNEL, GUI, MED, GEOM, SMESH
+          * 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
-          * PYCALCULATOR -> KERNEL, MED
           * CALCULATOR -> KERNEL, MED
+          * PYCALCULATOR -> 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
+         * 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
           algorithms and do not want to build samples.
 
-          Note: Meshing plug-ins BLSURFPLUGIN, HexoticPLUGIN and
+          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, of course) is 
+          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 set environment variables use bash or csh script, depending on 
             your shell:
 
-               source ../env_products.csh
+               source ./env_products.csh
             or
-               source ../env_products.sh
+               source ./env_products.sh
 
           - create build directory for the KERNEL module:
 
 
           - create a configuration script by typing
 
-               ../KERNEL_SRC_6.3.0/build_configure
+               ../KERNEL_SRC_7.4.0/build_configure
 
           - run configure script which will check the environment and create 
            Makefile files:
 
-               ../KERNEL_SRC_6.3.0/configure --prefix=/home/user/salome/KERNEL-6.3.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
           also accepts a lot of other parameters (for example, to build the module
-          in the optimized mode use --disable-debug --enable-production keys).
+          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.
 
                make install
 
           After you have completed this scenario, KERNEL module is built and 
-          installed into /home/user/salome/KERNEL-6.3.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-6.3.0
+               export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
 
           * for csh:
 
-               setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-6.3.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-6.3.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
-
-          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.
+               ./build.sh -h
 
-          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.
+          Note: build.sh script does not modify the environment files
+          (env_products.[c]sh, env_build.[c]sh). You should do it by yourself.
+
+     4.3. Build SALOME modules manually
+
+          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:
+
+          - 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
+
+          - run cmake
+
+               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
+          can supply additional options to the cmake (for example, to
+          build the module in the Release mode use -DCMAKE_BUILD_TYPE=Release option).
+
+          - 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-7.4.0 directory.
+
+          - modify your environment scripts:
+
+          * for bash:
+
+               export KERNEL_ROOT_DIR=/home/user/salome/KERNEL-7.4.0
+
+          * for csh:
+
+               setenv KERNEL_ROOT_DIR /home/user/salome/KERNEL-7.4.0
 
 ================================================================================