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