]> SALOME platform Git repositories - tools/install.git/blob - config_files/create_application.sh
Salome HOME
Copyright update
[tools/install.git] / config_files / create_application.sh
1 #!/bin/bash -noprofile
2
3 ####################################################################################
4 #  File      : create_application.sh
5 #  Created   : Fri May 30 10:40:01 2008
6 #  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
7 #  Project   : SALOME
8 #  Module    : Installation Wizard
9 #  Copyright : 2002-2015 CEA
10 #
11 #  This script is the part of the SALOME installation procedure.
12 #
13 ####################################################################################
14
15 source ./common.sh
16
17 export INST_ROOT=$1
18 export INSTALL_WORK=$2
19 export PRODUCT_SEQUENCE=$3
20 export INSTALL_PRODUCTS=$4
21 export PRODUCT_DIR=$5
22
23 # --- configuration file ---
24 CONFIG_FILE=${INSTALL_WORK}/config_appli.xml
25
26 # -- spacing for configuration file ---
27 SPACING="  "
28
29 # ----------------------------------
30 # create and source environment file
31 # ----------------------------------
32
33 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
34 source ${INSTALL_WORK}/${SHRC}
35
36 # ----------------------------------
37 # create config file
38 # ----------------------------------
39
40 # remove previous config file
41 if [ -e ${CONFIG_FILE} ] ; then
42     rm -f ${CONFIG_FILE}
43 fi
44
45 # create empty config file
46 touch ${CONFIG_FILE}
47
48 # begin <application> tag
49 echo "<application>" >> ${CONFIG_FILE}
50
51 # <prerequisites> tag : path to the environment script
52 echo "${SPACING}<prerequisites path=\"${PRODUCT_DIR}/salome.sh\"/>" >> ${CONFIG_FILE}
53
54 # <context> tag : path to the context file
55 echo "${SPACING}<context path=\"${PRODUCT_DIR}/salome.cfg\"/>" >> ${CONFIG_FILE}
56
57 # <resources> tag
58 echo "${SPACING}<resources path=\"CatalogResources.xml\"/>" >> ${CONFIG_FILE}
59
60 # begin <modules> tag
61 echo "${SPACING}<modules>" >> ${CONFIG_FILE}
62
63 # for each module create <module> tag
64 ALL_ENV="KERNEL GUI `env | awk -F_ '/[a-zA-Z0-9]*_ROOT_DIR/ { print $1 }' | grep -v -E '^(SALOME|KERNEL|GUI)$' | sort -u`"
65
66 for p in ${ALL_ENV} ; do
67     pvar=${p}_ROOT_DIR
68     pdir=${!pvar}
69     # if it's a SALOME module, it should have share/salome/resources sub-directory
70     if [ -d ${pdir}/share/salome/resources ] ; then
71         case ${p} in
72             KERNEL | GUI | COMPONENT | *CALCULATOR | RANDOMIZER | DSCCODE | *PLUGIN ) echo "${SPACING}${SPACING}<module name=\"${p}\" gui=\"no\" path=\"${pdir}\"/>" >> ${CONFIG_FILE} ;;
73             * ) echo "${SPACING}${SPACING}<module name=\"${p}\" gui=\"yes\" path=\"${pdir}\"/>" >> ${CONFIG_FILE} ;;
74         esac
75     fi
76 done
77
78 # end <modules> tag
79 echo "${SPACING}</modules>" >> ${CONFIG_FILE}
80
81 # <samples> tag : path to the samples directory
82 if [ -n ${DATA_DIR} ] && [ -d ${DATA_DIR} ] ; then
83     echo "${SPACING}<samples path=\"${DATA_DIR}\"/>" >> ${CONFIG_FILE}
84 fi
85
86 # end <application> tag
87 echo "</application>" >> ${CONFIG_FILE}
88
89 # copy resulting confuguration file to the KERNEL module
90 if [ -n "${PRODUCT_DIR}" ] && [ -d ${PRODUCT_DIR} ] ; then
91     cp -f ${CONFIG_FILE} ${PRODUCT_DIR}
92 fi
93
94 # ----------------------------------
95 # generate application
96 # ----------------------------------
97
98 if [ -f ${PRODUCT_DIR}/bin/salome/appli_gen.py ] ; then
99     version=`head -n1 ${PRODUCT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]'`
100     ${PRODUCT_DIR}/bin/salome/appli_gen.py --prefix=${INST_ROOT}/salome_appli_${version} --config=${PRODUCT_DIR}/config_appli.xml >& /dev/null
101 fi