Salome HOME
Ensure cmake_build_type is used in SALOME 9.12.0
[tools/sat_salome.git] / products / compil_scripts / SOLVERLAB.sh
1 #!/bin/bash
2
3 echo "##########################################################################"
4 echo "SOLVERLAB" $VERSION
5 echo "##########################################################################"
6
7 rm -rf $BUILD_DIR
8 mkdir $BUILD_DIR
9 cd $BUILD_DIR
10
11 CMAKE_OPTIONS=
12 CMAKE_OPTIONS+=" -DPython_ROOT_DIR=${PYTHON_ROOT_DIR}"
13 CMAKE_OPTIONS+=" -DPython_EXECUTABLE=${PYTHONBIN}"
14 CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
15
16 if [ ! -d $SOURCE_DIR/solverlabGUI ]; then
17     if [ $VERSION == "V9_6_0" ]; then
18         # GUI was ported after 9.6.0
19         CMAKE_OPTIONS+=" -DCOREFLOWS_WITH_GUI=OFF"
20         # following variables are automatically detected in environment after 9.6.0
21         CMAKE_OPTIONS+=" -DPYQT5_ROOT_DIR=${PYQT5_ROOT_DIR}"
22         CMAKE_OPTIONS+=" -DMATPLOTLIB_ROOT_DIR=${MATPLOTLIB_ROOT_DIR}"
23         CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig"
24         CMAKE_OPTIONS+=" -DDOXYGEN_EXECUTABLE=${DOXYGEN_ROOT_DIR}/bin/doxygen"
25         CMAKE_OPTIONS+=" -DCPPUNIT_ROOT_USER=${CPPUNIT_ROOT_DIR}"
26         CMAKE_OPTIONS+=" -DHDF5_ROOT=${HDF5_ROOT_DIR}"
27         CMAKE_OPTIONS+=" -DMEDFILE_ROOT_DIR=${MEDFILE_ROOT_DIR}"
28         CMAKE_OPTIONS+=" -DPARAVIEW_ROOT_DIR=${PARAVIEW_ROOT_DIR}"
29         CMAKE_OPTIONS+=" -DPETSC_DIR=${PETSC_ROOT_DIR}"
30         CMAKE_OPTIONS+=" -DKERNEL_ROOT_DIR=${KERNEL_ROOT_DIR}"
31         CMAKE_OPTIONS+=" -DGUI_ROOT_DIR=${GUI_ROOT_DIR}"
32         CMAKE_OPTIONS+=" -DMEDCOUPLING_ROOT_DIR=${MEDCOUPLING_ROOT_DIR}"
33     else
34         CMAKE_OPTIONS+=" -DCOREFLOWS_WITH_GUI=ON"
35         CMAKE_OPTIONS+=" -DPACKAGESPY_ROOT_DIR=${PACKAGESPY_ROOT_DIR}"
36         #    CMAKE_OPTIONS+=" -DSOLVERLAB_WITH_PACKAGESPY=ON"
37     fi
38     if [ -n "$SAT_HPC" ]; then
39         if [ $VERSION == "V9_6_0" ] && [ -n "$MPI_ROOT_DIR" ]; then
40             # following variable is automatically detected in environment after 9.6.0
41             CMAKE_OPTIONS+=" -DMPI_HOME=${MPI_ROOT_DIR}"
42         fi
43         CMAKE_OPTIONS+=" -DMPI_ROOT_DIR=${MPI_ROOT_DIR}"
44         CMAKE_OPTIONS+=" -DSOLVERLAB_WITH_MPI=ON"
45         if [ -n "$MPI_ROOT_DIR" ]; then
46             CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
47             CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
48         fi
49         if [ -n "$MPI4PY_ROOT_DIR" ]; then
50             CMAKE_OPTIONS+=" -DMPI4PY_ROOT_DIR:PATH=${MPI4PY_ROOT_DIR}"
51         else
52             echo "WARNING: mpi4py environment variable not detected"
53         fi
54     fi
55 else
56     CMAKE_OPTIONS+=" -DCOREFLOWS_WITH_GUI=OFF"
57     if [ -n "$SAT_HPC" ]; then
58         CMAKE_OPTIONS+=" -DMPI_ROOT_DIR=${MPI_ROOT_DIR}"
59         CMAKE_OPTIONS+=" -DSOLVERLAB_WITH_MPI=ON"
60         if [ -n "$MPI_ROOT_DIR" ]; then
61             CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
62             CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
63         fi
64         if [ -n "$MPI4PY_ROOT_DIR" ]; then
65             CMAKE_OPTIONS+=" -DMPI4PY_ROOT_DIR:PATH=${MPI4PY_ROOT_DIR}"
66         else
67             echo "WARNING: mpi4py environment variable not detected"
68         fi
69     fi
70 fi
71
72 echo
73 echo "*** cmake "$CMAKE_OPTIONS
74 cmake $CMAKE_OPTIONS $SOURCE_DIR
75 if [ $? -ne 0 ]; then
76     echo "ERROR on cmake"
77     exit 1
78 fi
79
80
81 echo
82 echo "*** make" $MAKE_OPTIONS
83 make $MAKE_OPTIONS
84 if [ $? -ne 0 ]; then
85     echo "ERROR on make"
86     exit 2
87 fi
88
89 echo
90 echo "*** make doc install"
91 make docCDMATH docCoreFlows install
92 if [ $? -ne 0 ]; then
93     echo "ERROR on make install"
94     exit 3
95 fi
96
97 echo
98 echo "########## END"