Salome HOME
spns #32377: cgns detection uses CGNS_ROOT
[tools/sat_salome.git] / products / compil_scripts / gmsh-4.10.3.sh
1 #!/bin/bash
2
3 echo "##########################################################################"
4 echo "gmsh" $VERSION
5 echo "##########################################################################"
6
7 rm -rf $BUILD_DIR
8 mkdir $BUILD_DIR
9 cd $BUILD_DIR
10
11 CMAKE_OPTIONS=
12 # common settings
13 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
14 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_VERBOSE_MAKEFILE=ON"
15 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_BUILD_TYPE=Release"
16 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_BUILD_SHARED=ON"
17
18 # build options
19 echo "*** GMSH version $VERSION >= 4."
20 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_ACIS=OFF"
21 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_FLTK=OFF"
22 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_MED=ON"
23 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_ONELAB_METAMODEL=OFF"
24 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_PARSER=ON"
25 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_PETSC=OFF"
26 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_PRIVATE_API=ON"
27 if [ -n "$CGNS_ROOT_DIR" ]; then
28     # GMSH relies on the presence of this environment variable.
29     export CGNS_ROOT=$CGNS_ROOT_DIR
30     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_CGNS=ON"
31 else
32     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_CGNS=OFF"
33 fi
34 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_INSTALL_LIBDIR=${PRODUCT_INSTALL}/lib" # strangely on Ubuntu GMSH installs the .so in lib instead of lib/lib64 - so force to lib64
35 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_PREFIX_PATH=${LAPACK_ROOT_DIR};${HDF5_ROOT_DIR};${MEDFILE_ROOT_DIR};" # set path of third libraries to our associated internal products
36 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_OPENMP=ON"     # get OpenMP based parallelism working
37 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_PLUGINS=OFF"   # needed for correct GmshFinalize() after version 4.3.0
38 if [[ $DIST_NAME == "FD" && $DIST_VERSION == "32" ]]
39 then
40     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DENABLE_MMG3D=OFF" # removed anyhow in GMS 4.6
41 fi
42
43 echo "*** cmake" $CMAKE_OPTIONS
44 cmake $CMAKE_OPTIONS $SOURCE_DIR
45
46 if [ $? -ne 0 ]
47 then
48     echo "ERROR on CMake"
49     exit 1
50 fi
51
52 echo
53 echo "*** make" $MAKE_OPTIONS
54 make $MAKE_OPTIONS
55 if [ $? -ne 0 ]
56 then
57     echo "ERROR on make"
58     exit 2
59 fi
60
61 echo
62 echo "*** make install"
63 make install
64 if [ $? -ne 0 ]
65 then
66     echo "ERROR on make install"
67     exit 3
68 fi
69
70 echo
71 if [ -n "$SALOME_GMSH_HEADERS_STD" ]; then
72     echo "Using standard directory structure"
73 else
74     echo "*** copy all .h in sources to install"
75     cp -f --backup=numbered `find $SOURCE_DIR -name "*.h"` $PRODUCT_INSTALL/include/ && \
76         mv $PRODUCT_INSTALL/include/gmsh/* $PRODUCT_INSTALL/include/ && \
77         rmdir $PRODUCT_INSTALL/include/gmsh/
78     if [ $? -ne 0 ]
79     then
80         echo "ERROR on copy"
81         exit 4
82     fi
83 fi
84
85 echo
86 echo "########## END"
87