openfoam/etc/config.sh/paraview
Mark Olesen 5ba4e83f7a CONFIG: update versions of some ThirdParty software
- ADIOS 1.13.0
- fftw 3.3.7
- paraview 5.4.1

ENH: include ThirdParty QT libraries in LD_LIBRARY_PATH for paraview
2017-12-15 09:23:37 +01:00

185 lines
5.7 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# File
# etc/config.sh/paraview
#
# Description
# Setup for PARAVIEW (partially cmake, qt too)
# Sourced from OpenFOAM-<VERSION>/etc/bashrc or from foamPV alias
#
# For system-wide cmake: cmake_version=cmake-system
# For system-wide qt: ParaView_QT=qt-system
#
# Note
# The following env. variables are required for building plugins:
# ParaView_DIR
# ParaView_INCLUDE_DIR
# PV_PLUGIN_PATH
#
# For central installations not located under ThirdParty, the environment
# values must be set manually. For example,
#
# export ParaView_DIR=/opt/paraview/paraview-5.4.1
# export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-5.4
# export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-5.4
#
# export PATH=$ParaView_DIR/bin:$PATH
# export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-5.4:$LD_LIBRARY_PATH
# unset ParaView_VERSION # avoid using ThirdParty settings
#
# Note
# When _foamAddLib is unset (eg, called from makeParaView or from foamPV):
# - the ParaView_VERSION variable is retained.
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
ParaView_VERSION=5.4.1
ParaView_QT=qt-system
cmake_version=cmake-system
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
pv_api=auto # Normally auto or pair of digits (eg, '5.4' etc)
# Compiler-specific location for ThirdParty installations
archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER"
# Clean PATH and LD_LIBRARY_PATH
cleaned=$($WM_PROJECT_DIR/bin/foamCleanPath "$PATH" \
"$ParaView_DIR $archDir/cmake- $archDir/qt- $archDir/ParaView-" \
) && PATH="$cleaned"
if [ -n "$LD_LIBRARY_PATH" ]
then
cleaned=$($WM_PROJECT_DIR/bin/foamCleanPath "$LD_LIBRARY_PATH" \
"$ParaView_DIR $archDir/qt- $archDir/ParaView-" \
) && LD_LIBRARY_PATH="$cleaned"
fi
# ThirdParty cmake
cmake=$archDir/$cmake_version
if [ -r $cmake/bin/cmake ]
then
# _foamAddPath not available when foamPV function is used
PATH=$cmake/bin:$PATH
fi
# Evaluate command-line parameters for ParaView
_foamParaviewEval()
{
while [ $# -gt 0 ]
do
case "$1" in
ParaView*=*)
# name=value -> export name=value
eval "export $1"
;;
esac
shift
done
}
# Evaluate command-line parameters
_foamParaviewEval $@
# Require that ParaView_VERSION has not been unset.
# Avoids conflict with an alternative (non-ThirdParty) installation.
if [ -n "$ParaView_VERSION" ]
then
# Set API to correspond to VERSION
# pv_api is <digits>.<digits> from ParaView_VERSION
case "$ParaView_VERSION" in
"$pv_api".* )
# API and VERSION appear to correspond
;;
[0-9]*)
# Extract API from VERSION
pv_api=$(echo $ParaView_VERSION | \
sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/')
;;
esac
export ParaView_DIR=$archDir/ParaView-$ParaView_VERSION
pvSubDir=paraview-$pv_api
# Set paths if binaries are present
if [ -r $ParaView_DIR ]
then
pvLibDir=$ParaView_DIR/lib/$pvSubDir
pvPython=$ParaView_DIR/Utilities/VTKPythonWrapping
export PATH=$ParaView_DIR/bin:$PATH
export ParaView_INCLUDE_DIR=$ParaView_DIR/include/$pvSubDir
export PV_PLUGIN_PATH=$FOAM_LIBBIN/$pvSubDir
# Add in qt libraries as required
qtDir="$archDir/$ParaView_QT"
if [ -d "$qtDir" ]
then
for qtLibDir in $qtDir/lib$WM_COMPILER_LIB_ARCH $qtDir/lib
do
if [ -d "$qtLibDir" ]
then
export LD_LIBRARY_PATH=$qtLibDir:$LD_LIBRARY_PATH
break
fi
done
fi
# Prepend paraview libraries
export LD_LIBRARY_PATH=$pvLibDir:$LD_LIBRARY_PATH
# Add in python libraries if required
if [ -r $pvPython ]
then
if [ "$PYTHONPATH" ]
then
export PYTHONPATH=$PYTHONPATH:$pvPython:$pvLibDir
else
export PYTHONPATH=$pvPython:$pvLibDir
fi
fi
if [ "$FOAM_VERBOSE" -a "$PS1" ]
then
echo "Using paraview"
echo " ParaView_DIR : $ParaView_DIR"
echo " ParaView_INCLUDE_DIR : $ParaView_INCLUDE_DIR"
echo " library dir : $pvLibDir"
echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH"
fi
else
if [ "$FOAM_VERBOSE" -a "$PS1" ]
then
echo "No paraview found"
echo " ParaView_DIR : $ParaView_DIR"
fi
unset ParaView_DIR ParaView_INCLUDE_DIR PV_PLUGIN_PATH
fi
fi
unset -f _foamParaviewEval 2> /dev/null
unset cleaned archDir
unset cmake cmake_version
unset pv_api pvSubDir pvLibDir pvPython qtDir qtLibDir
if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing
then
unset ParaView_VERSION ParaView_QT
fi
#------------------------------------------------------------------------------