Salome HOME
a474f993f9ee9875a6846c51b1c3bfae63006103
[tools/sat_salome.git] / products / compil_scripts / ParaView-5.6.0p1_7bafc2b.sh
1 #!/bin/bash
2
3 echo "##########################################################################"
4 echo "ParaView" $VERSION
5 echo "##########################################################################"
6
7 rm -Rf $PRODUCT_INSTALL
8
9 PVLIBVERSION=`echo ${VERSION} | awk -F. '{printf("%d.%d",$1,$2)}'`
10 export python_name=python$PYTHON_VERSION
11
12 CMAKE_OPTIONS=""
13
14 ### verbose log
15 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_VERBOSE_MAKEFILE=ON"
16
17 ### common settings
18 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}"
19 if [ -n "$SAT_DEBUG" ]
20 then
21     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Debug"
22 else
23     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_BUILD_TYPE:STRING=Release"
24 fi
25 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBUILD_SHARED_LIBS:BOOL=ON"
26 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBUILD_TESTING:BOOL=OFF"
27
28
29 ### compiler settings
30 # OP TEST
31 #if [[ $BITS == "64" ]]
32 #then
33 #    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_FLAGS:STRING=-m64"
34 #    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_FLAGS:STRING=-m64"
35 #fi
36 # OP 29/05/2018 Add 2 options used by BO
37 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_FLAGS:STRING=-m64"
38 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_FLAGS:STRING=-m64"
39
40 ### Paraview general settings
41 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON"
42
43 if [ -n "$SAT_HPC" ]
44 then
45     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_MPI:BOOL=ON"
46     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpic++"
47     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpicc"
48     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_CATALYST:BOOL=ON"
49     # OP 11/04/2018 Option not used
50     #    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=ON"
51     # OP 29/05/2018 Option not used
52     #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CatalystScriptGenerator:BOOL=ON"
53     # OP 29/05/2018 Add option used by BO
54     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_COPROCESSING:BOOL=ON"
55 else
56     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_MPI:BOOL=OFF"
57     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
58     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCMAKE_C_COMPILER:STRING=`which gcc`"
59     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_CATALYST:BOOL=OFF"
60     # OP 11/04/2018 Option not used
61     #    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=OFF"
62     # OP 29/05/2018 Option not used
63     #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CatalystScriptGenerator:BOOL=OFF"
64     # OP 29/05/2018 Add option used by BO
65     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_COPROCESSING:BOOL=OFF"
66 fi
67
68 ### VTK general settings
69 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_64BIT_IDS:BOOL=OFF"       # issue 1779
70 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_PYTHON_FULL_THREADSAFE=ON"
71 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_NO_PYTHON_THREADS:BOOL=OFF"  # Make sure Python is thread-safe in ParaView
72
73 # OP inhibit embedded Pygments and use the system (or SALOME) one
74 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_PYGMENTS:BOOL=ON"
75
76 # TA - OP 17/01/2018 Add options for ParaView libraries installation
77 #         due to latest version of ParaView-b5c4c893
78 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_INSTALL_LIBRARY_DIR=lib/paraview-${PVLIBVERSION}"
79 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_INSTALL_ARCHIVE_DIR=lib/paraview-${PVLIBVERSION}"
80 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_PYTHON_SITE_PACKAGES_SUFFIX=site-packages"
81 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_INSTALL_PLUGINS_DIR=lib/paraview-${PVLIBVERSION}/plugins"
82 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTKm_INSTALL_LIB_DIR=lib/paraview-${PVLIBVERSION}"
83
84 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF"
85
86 ### OpenGL2 backend for performance improvment
87 # https://blog.kitware.com/new-opengl-rendering-in-vtk/ 
88 # OpenGl2 mandatory in this version of paraview
89 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_RENDERING_BACKEND:STRING=OpenGL2"
90 ### OpenMP to speed computation of some filters
91 # https://blog.kitware.com/simple-parallel-computing-with-vtksmptools-2/
92 # https://blog.kitware.com/accelerated-filters-in-paraview-5/
93 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP" 
94
95 ### Qt settings
96 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_QT_GUI:BOOL=ON"
97 if [ -n "$QT5_ROOT_DIR" ]
98 then
99     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_QT_VERSION=5"
100     # OP 29/05/2018 Add option used by BO
101     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DQT_HELP_GENERATOR:STRING=${QT5_ROOT_DIR}/bin/qhelpgenerator"
102 fi
103 # OP 29/05/2018 Add option used by BO
104 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF"
105
106 ### Python settings
107 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_PYTHON:BOOL=ON"
108
109 # OP 29/05/2018 Add option used by BO
110 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_WRAP_PYTHON:BOOL=ON"
111
112 if [ -n "$PYTHONHOME" ] 
113 then
114   # with a native python, do not use these options
115   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_EXECUTABLE:STRING=${PYTHON_ROOT_DIR}/bin/${python_name}"
116   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_INCLUDE_DIR:STRING=${PYTHON_ROOT_DIR}/include/${python_name}"
117   if [ ${PYTHON_VERSION%%.*} == 3 ]
118   then
119     # OP TEST
120     #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/${python_name}/config-${PYTHON_VERSION}/lib${python_name}.so"
121     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/lib${python_name}.so"
122   else
123     CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/${python_name}/config/lib${python_name}.so"
124   fi
125 fi
126
127 ### No tcl tk wrap
128 # OP 29/05/2018 Option not used
129 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_WRAP_TCL:BOOL=OFF"
130 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_WRAP_JAVA:BOOL=OFF"
131
132 ### HDF5 settings
133 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_HDF5:BOOL=ON"
134 # OP 11/04/2018 Option not used
135 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5"
136 # OP 29/05/2018 Option not used
137 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=ON"
138
139 ### VisIt Database bridge settings
140 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_VISITBRIDGE=ON"
141
142 ### Boost settings (needed when activating VisIt bridge)
143 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBOOST_ROOT=${BOOST_ROOT_DIR}"
144
145 ### gl2ps settings
146 # VTK and system gl2ps conflict resolution
147 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_GL2PS:BOOL=ON"
148 if [ -n "$GL2PS_ROOT_DIR" ] 
149 then
150   # with a native gl2ps, do not use these options
151   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_INCLUDE_DIR:STRING=${GL2PS_ROOT_DIR}/include"
152   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_LIBRARY:STRING=${GL2PS_ROOT_DIR}/lib/libgl2ps.so"
153 fi
154
155 ### libxml2 settings
156 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON"
157 if [ -n "$LIBXML2_ROOT_DIR" ] 
158 then
159   # with a native libxml2, do not use these options
160   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
161   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
162   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
163 fi
164
165 ### freetype settings
166 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON"
167
168 if [ -n "$FREETYPE_ROOT_DIR" ] 
169 then
170   # with a native freetype, do not use these options
171   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DFREETYPE_INCLUDE_DIRS:STRING=${FREETYPE_ROOT_DIR}/include/freetype2"
172   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DFREETYPE_LIBRARY:STRING=${FREETYPE_ROOT_DIR}/lib/libfreetype.so"
173 fi
174
175 ### Extra options (switch off non-used Paraview plug-ins)
176 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=OFF"
177
178 # OP 29/05/2018 Option not used
179 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PrismPlugin:BOOL=OFF"
180 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=OFF"
181 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=OFF"
182 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PacMan:BOOL=OFF"
183
184 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_WEB=OFF"
185
186 ### Extra options (switch on required Paraview plug-ins)
187 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON"
188
189 # OP 29/05/2018 Option not used
190 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_ForceTime:BOOL=ON"
191
192 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=ON"
193 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_MATPLOTLIB:BOOL=ON"
194
195 # OP 10/04/2018 Add cgns prerequisite for import/export in CGNS format
196 # OP 10/04/2018 Option not used
197 #CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_CGNS=ON"
198 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCGNS_FIND_REQUIRED:BOOL=ON"
199 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCGNS_INCLUDE_DIR:STRING=${CGNS_ROOT_DIR}/include"
200 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DCGNS_LIBRARY:STRING=${CGNS_ROOT_DIR}/lib/libcgns.so"
201 # OP TEST
202 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_CGNS:BOOL=ON"
203 echo
204 echo "*** cmake" ${CMAKE_OPTIONS}
205 cmake ${CMAKE_OPTIONS} $SOURCE_DIR
206 if [ $? -ne 0 ]
207 then
208     echo "ERROR on cmake"
209     exit 1
210 fi
211
212 MAKE_OPTIONS="VERBOSE=1 "$MAKE_OPTIONS
213 echo
214 echo "*** make" $MAKE_OPTIONS
215 make $MAKE_OPTIONS
216 if [ $? -ne 0 ]
217 then
218     echo "ERROR on make"
219     exit 2
220 fi
221 if [ ${PYTHON_VERSION%%.*} == 3 ]
222 then
223     BUILD_DIR=`pwd`
224     cp ${BUILD_DIR}/lib/site-packages/__pycache__/six.cpython-35.opt-1.pyc ${BUILD_DIR}/lib/site-packages/six.pyo
225     cp ${BUILD_DIR}/lib/site-packages/__pycache__/six.cpython-35.pyc ${BUILD_DIR}/lib/site-packages/six.pyc
226 fi
227 echo
228 echo "*** make install"
229 make install
230 if [ $? -ne 0 ]
231 then
232     echo "ERROR on make install"
233     exit 3
234 fi
235
236 cp -f ./VTK/VTKTargets.cmake $PRODUCT_INSTALL/lib/cmake/paraview-${PVLIBVERSION}/ && \
237 sed -i "s%\(IMPORTED_LOCATION_RELEASE.*\"\).*/lib/\([^/]\+\"\)%\1${PRODUCT_INSTALL}/lib/paraview-${PVLIBVERSION}/\2%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \
238 sed -i "s%\(IMPORTED_LOCATION_RELEASE.*\"\).*/bin/\([^/]\+\"\)%\1${PRODUCT_INSTALL}/bin/\2%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \
239 sed -i "s%[^;\"]\+/qt-[0-9\.]\+/lib/\([^;]\+\)%${QTDIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \
240 sed -i "s%[^;\"]\+/Python-[0-9\.]\+/lib/\([^;]\+\)%${PYTHON_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \
241 sed -i "s%[^;\"]\+/hdf5-[0-9\.]\+/lib/\([^;]\+\)%${HDF5_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake && \
242 sed -i "s%[^;\"]\+/gl2ps-[0-9\.]\+/lib/\([^;]\+\)%${GL2PS_ROOT_DIR}/lib/\1%g" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/VTKTargets.cmake
243
244 # && sed -i "s%\${OUTPUT_DIR}/\${module_name}Hierarchy.txt%%" ${PRODUCT_INSTALL}/lib/cmake/paraview-${PVLIBVERSION}/vtkWrapHierarchy.cmake
245
246 # OP 17/07/2018 post-install suppressed for SALOME master test
247 # OP 26/03/2018 Add post-install suggested by Anthony (EDF) above
248
249
250
251 if [ $? -ne 0 ]
252 then
253     echo "ERROR on cp"
254     exit 4
255 fi
256
257 echo
258 echo "########## END"
259