Salome HOME
Remove build directory
[tools/install.git] / config_files / ParaView-3.10.sh
index a7c02b40a93b566eaba8d10c8f8ea9f8ed6d95d8..60905e2d6da13bd663a559b78dfa302030210c71 100755 (executable)
 ####################################################################################
 
 #
-# VTK version
+# Paraview version and lib version
 #
-PVVERSION=3.10
+PVVERSION=3.10.1
+PVLIBVERSION=`echo ${PVVERSION} | awk -F. '{printf("%d.%d",$1,$2)}'`
 
 check_version()
 {
 if [ -z "$PARAVIEW" ]; then
    return 1 
 fi
-check_lib_version libvtkCommon.so ${PVHOME}/lib/paraview-${PVVERSION}
+check_lib_version libvtkCommon.so ${PVHOME}/lib/paraview-${PVLIBVERSION}
 if [ "$?" -eq "0" ]; then
    return 0
 fi
@@ -33,11 +34,12 @@ print_env_bin()
 {
 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
 #$DELIM ${PRODUCT_TYPE} $DELIM
-export PVVERSION=${PVVERSION}
 export PVHOME=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
 export PATH=\${PVHOME}/bin:\${PATH}
-export LD_LIBRARY_PATH=\${PVHOME}/lib/paraview-\${PVVERSION}:\${LD_LIBRARY_PATH}
-export PYTHONPATH=\${PVHOME}/lib/paraview-\${PVVERSION}:\${PVHOME}/lib/paraview-\${PVVERSION}/site-packages:\${PVHOME}/lib/paraview-\${PVVERSION}/site-packages/paraview:\${PYTHONPATH}
+export LD_LIBRARY_PATH=\${PVHOME}/lib/paraview-${PVLIBVERSION}:\${LD_LIBRARY_PATH}
+export PYTHONPATH=\${PVHOME}/lib/paraview-${PVLIBVERSION}:\${PVHOME}/lib/paraview-${PVLIBVERSION}/site-packages:\${PVHOME}/lib/paraview-${PVLIBVERSION}/site-packages/paraview:\${PYTHONPATH}
+export VTK_DIR=\${PVHOME}/lib/paraview-${PVLIBVERSION}
+export PV_PLUGIN_PATH=\${PVHOME}/lib/paraview-${PVLIBVERSION}
 ##
 EOF
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
@@ -67,11 +69,15 @@ make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}
 source ${INSTALL_WORK}/$SHRC
 
 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
-check_jb tar xfz ${SOURCE_DIR}/ParaViewData-${PVVERSION}.tar.gz -C ${INST_ROOT}
+data_archive=${SOURCE_DIR}/ParaViewData-${PVVERSION}.tar.gz
+if [ ! -f ${data_archive} ] ; then
+    data_archive=${SOURCE_DIR}/ParaViewData-${PVLIBVERSION}.tar.gz
+fi
+check_jb tar xfz ${data_archive} -C ${INST_ROOT}
 
 ### patch paraview
-# 1. patch for ParaViewLibraryDepends.cmake problem (ParaView 3.10.0)
-need_patch_depend=1
+# 1. patch for ParaViewLibraryDepends.cmake problem (ParaView 3.10.0) [OBSOLETE]
+need_patch_depend=0
 if [ "${need_patch_depend}" == "1" ] && [ -f patches/paraview-3.10.0-depend.patch ] ; then
     cp patches/paraview-3.10.0-depend.patch ${PRODUCT_SRC_DIR}
     ( cd ${PRODUCT_SRC_DIR} ; patch -p0 < paraview-3.10.0-depend.patch )
@@ -83,6 +89,12 @@ if [ "${need_patch_mutable}" == "1" ] ; then
        sed -i "s%\([[:space:]]*\)PyVTKSpecialObject.h%\1PyVTKSpecialObject.h\n\1PyVTKMutableObject.h%g" \
        VTK/Wrapping/Python/CMakeLists.txt )
 fi
+# 3. patch for ftgl (incompatibility with OCCT 6.5)
+need_patch_ftgl=1
+if [ "${need_patch_ftgl}" == "1" ] ; then
+    cp patches/paraview-3.10.1-ftgl.patch ${PRODUCT_SRC_DIR}
+    ( cd ${PRODUCT_SRC_DIR} ; patch -p1 < paraview-3.10.1-ftgl.patch )
+fi
 
 # to generate environment scripts
 try_preinstalled
@@ -106,10 +118,10 @@ tcl_includes=""
 tcl_libs=""
 tcldir="`where_tcl`"
 if [ $? -eq 0 ] && [ -e ${tcldir}/tclConfig.sh ] ; then
-    tcl_version=`grep -e "TCL_VERSION=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_VERSION=[\'|\"]\(.*\)[\'|\"]%\1%g"`
-    tcl_includes=`grep -e "TCL_INCLUDE_SPEC=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_INCLUDE_SPEC=[\'|\"]-I\(.*\)[\'|\"]%\1%g"`
+    tcl_version=`grep -e "TCL_VERSION=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_VERSION=[\'|\"]\(.*\)[\'|\"]%\1%g" | sed -e "s%^[[:space:]]%%g;s%[[:space:]]\+$%%g"`
+    tcl_includes=`grep -e "TCL_INCLUDE_SPEC=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_INCLUDE_SPEC=[\'|\"]-I\(.*\)[\'|\"]%\1%g" | sed -e "s%^[[:space:]]%%g;s%[[:space:]]\+$%%g"`
     if [ -z "$tcl_includes" ] ; then tcl_includes=/usr/include ; fi
-    tcl_libs=`grep -e "TCL_PACKAGE_PATH=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_PACKAGE_PATH=[\'|\"]\(.*\)[\'|\"]%\1%g"`
+    tcl_libs=`grep -e "TCL_PACKAGE_PATH=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_PACKAGE_PATH=[\'|\"]\(.*\)[\'|\"]%\1%g" | sed -e "s%^[[:space:]]%%g;s%[[:space:]]\+$%%g"`
 fi
     
 CMAKE_OPTIONS=""
@@ -178,8 +190,35 @@ fi
 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_USE_VISITBRIDGE=ON"
 CMAKE_OPTIONS=$CMAKE_OPTIONS" -DBOOST_ROOT=${BOOSTDIR}"
 
+### gl2ps settings
+if [ "${GL2PSHOME}" != "" ]; then
+    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_GL2PS:BOOL=ON"
+    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DVTK_USE_SYSTEM_GL2PS:BOOL=ON"
+    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_INCLUDE_DIR:STRING=${GL2PSHOME}/include"
+    CMAKE_OPTIONS=$CMAKE_OPTIONS" -DGL2PS_LIBRARY:STRING=${GL2PSHOME}/lib/libgl2ps.so"
+fi
+
+### Extra options (switch off non-used Paraview plug-ins)
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CoProcessing:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_Prism:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_VisTrailsPlugin:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_pvblot:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=OFF"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_ENABLE_COPROCESSING:BOOL=OFF"
+
+### Extra options (switch on required Paraview plug-ins)
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_ForceTime:BOOL=ON"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=ON"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_PointSprite:BOOL=ON"
+CMAKE_OPTIONS=$CMAKE_OPTIONS" -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=ON"
+
 ### Mesa settings (if pre-installed) [OBSOLETE]
-if [ -n "$MESA_HOME" ]; then
+with_mesa=0
+if [ "${with_mesa}" == "1" ] && [ "$MESA_HOME" != "" ] ; then
   CMAKE_OPTIONS=$CMAKE_OPTIONS" -DOPENGL_INCLUDE_DIR:STRING=${MESA_HOME}/include"
   if test `uname -m` = "x86_64" ; then
       CMAKE_OPTIONS=$CMAKE_OPTIONS" -DOPENGL_gl_LIBRARY:STRING=${MESA_HOME}/lib64/libGL.so"
@@ -206,9 +245,10 @@ used gcc=$GCC
 EOF
 check_job ${PRODUCT_DIR}/MAKE.LOG make -j4
 
-### 'make install` has been replaced by `cpack`
+#######
+# `make install` has been replaced by `cpack` since Paraview 3.10.0
+#######
 use_make_install=0
-
 if [ "${use_make_install}" == "1" ] ; then
     check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
    
@@ -216,7 +256,7 @@ if [ "${use_make_install}" == "1" ] ; then
     # 1. patch for missing libvtkPV*.so libraries (ParaView 3.10 development version) [OBSOLETE]
     need_patch_libvtkpv=0
     if [ "${need_patch_libvtkpv}" == "1" ] ; then
-       cd ${PRODUCT_DIR}/lib/paraview-${PVVERSION}
+       cd ${PRODUCT_DIR}/lib/paraview-${PVLIBVERSION}
        for f in `find . -name "vtkPV*.so"` XXX ; do
            if test "$f" == "XXX" ; then continue ; fi
            d=`dirname $f`
@@ -226,10 +266,23 @@ if [ "${use_make_install}" == "1" ] ; then
     fi
 else
     check_job ${PRODUCT_DIR}/CPACK.LOG cpack -G TGZ --config Applications/ParaView/CPackParaView-DevelopmentConfig.cmake
-    bindir=`find ${PRODUCT_BUILD_DIR}/_CPack_Packages -type d -name "ParaView-*-3.10*"`
-    cp -rf ${bindir}/* ${PRODUCT_DIR}
+    bindir=`find ${PRODUCT_BUILD_DIR}/_CPack_Packages -type d -name "ParaView-*-${PVLIBVERSION}*"`
+    if [ "${bindir}" != "" ] ; then
+        cp -rf ${bindir}/* ${PRODUCT_DIR}
+    else
+       echo "Error on cpack step! CPack archive is not found! Exiting"
+    fi
 fi 
 
+#######
+# patch Paraview problem (bad VisItBridge configuration)
+# NOT NEEDED SINCE PARAVIEW 3.10.1
+#######
+patch_visit_usage=0
+if [ "${patch_visit_usage}" == "1" ] ; then
+    sed -i "s%SET(PARAVIEW_USE_VISITBRIDGE \"ON\")%SET(PARAVIEW_USE_VISITBRIDGE \"OFF\")%g" ${PRODUCT_DIR}/lib/paraview-${PVLIBVERSION}/ParaViewConfig.cmake
+fi
+
 cd ${PRODUCT_DIR}
 
 # remove sources and temporary files after building
@@ -250,7 +303,11 @@ source ${INSTALL_WORK}/$SHRC
 test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
 
 check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
-check_jb tar xfz ${SOURCE_DIR}/../../SOURCES/ParaViewData-${PVVERSION}.tar.gz -C ${INST_ROOT}
+data_archive=${SOURCE_DIR}/../../SOURCES/ParaViewData-${PVVERSION}.tar.gz
+if [ ! -f ${data_archive} ] ; then
+    data_archive=${SOURCE_DIR}/../../SOURCES/ParaViewData-${PVLIBVERSION}.tar.gz
+fi
+check_jb tar xfz ${data_archive} -C ${INST_ROOT}
 
 cd ${PRODUCT_DIR}