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)
8 # Module : Installation Wizard
9 # Copyright : 2002-2014 CEA
11 # This script is the part of the SALOME installation procedure.
13 ####################################################################################
18 export INSTALL_WORK=$2
19 export PRODUCT_SEQUENCE=$3
20 export INSTALL_PRODUCTS=$4
23 # --- configuration file ---
24 CONFIG_FILE=${INSTALL_WORK}/config_appli.xml
26 # -- spacing for configuration file ---
29 # ----------------------------------
30 # create and source environment file
31 # ----------------------------------
33 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
34 source ${INSTALL_WORK}/${SHRC}
36 # ----------------------------------
38 # ----------------------------------
40 # remove previous config file
41 if [ -e ${CONFIG_FILE} ] ; then
45 # create empty config file
48 # begin <application> tag
49 echo "<application>" >> ${CONFIG_FILE}
51 # <prerequisites> tag : path to the environment script
52 echo "${SPACING}<prerequisites path=\"${PRODUCT_DIR}/salome.sh\"/>" >> ${CONFIG_FILE}
54 # <context> tag : path to the context file
55 echo "${SPACING}<context path=\"${PRODUCT_DIR}/salome.cfg\"/>" >> ${CONFIG_FILE}
58 echo "${SPACING}<resources path=\"CatalogResources.xml\"/>" >> ${CONFIG_FILE}
61 echo "${SPACING}<modules>" >> ${CONFIG_FILE}
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`"
66 for p in ${ALL_ENV} ; do
69 # if it's a SALOME module, it should have share/salome/resources sub-directory
70 if [ -d ${pdir}/share/salome/resources ] ; then
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} ;;
79 echo "${SPACING}</modules>" >> ${CONFIG_FILE}
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}
86 # end <application> tag
87 echo "</application>" >> ${CONFIG_FILE}
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}
94 # ----------------------------------
95 # generate application
96 # ----------------------------------
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