From 3f362fd7ec3314968440f55a6caf87f281498e16 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@Germany> Date: Fri, 16 Dec 2016 08:17:29 +0100 Subject: [PATCH] CONFIG: add config files for VTK, MESA - sometimes used for off-screen rendering. Only add to library-path when they are actually available --- bin/tools/foamConfigurePaths | 35 ++++++++++++++---- etc/bashrc | 1 + etc/config.csh/unset | 2 + etc/config.csh/vtk | 67 +++++++++++++++++++++++++++++++++ etc/config.sh/paraview | 2 +- etc/config.sh/unset | 2 + etc/config.sh/vtk | 72 ++++++++++++++++++++++++++++++++++++ etc/cshrc | 1 + 8 files changed, 174 insertions(+), 8 deletions(-) create mode 100644 etc/config.csh/vtk create mode 100644 etc/config.sh/vtk diff --git a/bin/tools/foamConfigurePaths b/bin/tools/foamConfigurePaths index a85cff83f8b..a27cb37219d 100755 --- a/bin/tools/foamConfigurePaths +++ b/bin/tools/foamConfigurePaths @@ -53,13 +53,17 @@ usage: ${0##*/} -fftwArchPath dir specify FFTW_ARCH_PATH -metis ver specify METIS_VERSION -metisArchPath dir specify METIS_ARCH_PATH - -paraview ver specify ParaView_VERSION (e.g. 3.12.0) - -paraviewInstall dir specify ParaView_DIR (e.g. /opt/paraviewopenfoam3120) - -scotch ver specify SCOTCH_VERSION (e.g. 6.0.0) - -scotchArchPath dir specify SCOTCH_ARCH_PATH (e.g. /opt/OpenFOAM-scotch-6.0.0/) + -paraview ver specify ParaView_VERSION (eg, 5.0.1) + -paraviewInstall dir specify ParaView_DIR (eg, /opt/paraviewopenfoam3120) + -scotch ver specify SCOTCH_VERSION (eg, scotch_6.0.4) + -scotchArchPath dir specify SCOTCH_ARCH_PATH (eg, /opt/OpenFOAM-scotch_6.0.4) + -vtk ver specify vtk_version (eg, VTK-7.1.0) + -mesa ver specify mesa_version (eg, mesa-13.0.1) * Adjust hardcoded installation paths and versions +- unless otherwise specified, the default mpi is SYSTEMOPENMPI + USAGE exit 1 } @@ -69,9 +73,11 @@ die() { exec 1>&2 echo - echo "Error: see '${0##*/} -help' for usage" + echo "Error encountered:" while [ "$#" -ge 1 ]; do echo " $1"; shift; done echo + echo "See '${0##*/} -help' for usage" + echo exit 1 } @@ -212,7 +218,7 @@ do shift ;; - -third[Pp]arty) + -[Tt]hird[Pp]arty | -[Tt]hird) # Replace WM_COMPILER_TYPE=... and WM_COMPILER=... [ "$#" -ge 2 ] || die "'$1' option requires an argument" replace etc/bashrc WM_COMPILER_TYPE ThirdParty WM_COMPILER "$2" @@ -220,7 +226,6 @@ do shift ;; - -boost) # Replace boost_version=... [ "$#" -ge 2 ] || die "'$1' option requires an argument" @@ -333,6 +338,22 @@ do shift ;; + -vtk) + # Replace vtk_version=... + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + replace etc/config.sh/vtk vtk_version "$2" + adjusted=true + shift + ;; + + -mesa) + # Replace mesa_version=... + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + replace etc/config.sh/vtk mesa_version "$2" + adjusted=true + shift + ;; + *) die "unknown option/argument: '$1'" ;; diff --git a/etc/bashrc b/etc/bashrc index 0cdf4031ba8..3f5d04e83bf 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -170,6 +170,7 @@ _foamSource $WM_PROJECT_DIR/etc/config.sh/aliases # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/mpi` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/paraview` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/vtk` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/ensight` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/gperftools` diff --git a/etc/config.csh/unset b/etc/config.csh/unset index 88bdd3454ef..b423a53d98f 100644 --- a/etc/config.csh/unset +++ b/etc/config.csh/unset @@ -124,6 +124,7 @@ unsetenv ParaView_INCLUDE_DIR unsetenv ParaView_MAJOR unsetenv ParaView_VERSION unsetenv PV_PLUGIN_PATH +unsetenv VTK_DIR #------------------------------------------------------------------------------ # unset other ThirdParty environment variables @@ -136,6 +137,7 @@ unsetenv FFTW_ARCH_PATH unsetenv GPERFTOOLS_ARCH_PATH unsetenv GMP_ARCH_PATH unsetenv MPFR_ARCH_PATH +unsetenv MESA_ARCH_PATH unsetenv METIS_ARCH_PATH unsetenv SCOTCH_ARCH_PATH diff --git a/etc/config.csh/vtk b/etc/config.csh/vtk new file mode 100644 index 00000000000..bd39d000ec4 --- /dev/null +++ b/etc/config.csh/vtk @@ -0,0 +1,67 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# File +# etc/config.csh/vtk +# +# Description +# Setup file for VTK (and MESA) +# Sourced from OpenFOAM-<VERSION>/etc/cshrc +# +# The library path is not adjusted with the paths specified here do not exist +# +# Note +# When building OpenFOAM, any changes made here MUST be made in the +# equivalent config.sh version too, since that is the one which will +# be used during the build process. +# +#------------------------------------------------------------------------------ + +set vtk_version=VTK-7.1.0 +set mesa_version=mesa-13.0.1 + +setenv VTK_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version +setenv MESA_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version + +#------------------------------------------------------------------------------ +if ($?FOAM_VERBOSE && $?prompt) then + echo "Using vtk ($vtk_version) -> $VTK_ARCH_PATH" + echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" +endif + +# Set paths if binaries are present +if ( -r $VTK_DIR ) then + _foamAddLib $VTK_DIR/lib$WM_COMPILER_LIB_ARCH +else + unset VTK_DIR +endif + +if ( -r $MESA_ARCH_PATH ) then + _foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH +else + unset MESA_ARCH_PATH +endif + +unset vtk_version mesa_version + +#------------------------------------------------------------------------------ diff --git a/etc/config.sh/paraview b/etc/config.sh/paraview index a8df5e7d9c9..188d505b0f1 100644 --- a/etc/config.sh/paraview +++ b/etc/config.sh/paraview @@ -119,7 +119,7 @@ then export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$pvName - # Set paths if binaries or source are present + # Set paths if binaries are present if [ -r $ParaView_DIR ] then pvLibDir=$ParaView_DIR/lib/$pvMajor diff --git a/etc/config.sh/unset b/etc/config.sh/unset index e7b834baeb7..6bc4a517ab8 100644 --- a/etc/config.sh/unset +++ b/etc/config.sh/unset @@ -120,6 +120,7 @@ unset ParaView_INCLUDE_DIR unset ParaView_MAJOR unset ParaView_VERSION unset PV_PLUGIN_PATH +unset VTK_DIR #------------------------------------------------------------------------------ # unset other ThirdParty environment variables @@ -132,6 +133,7 @@ unset FFTW_ARCH_PATH unset GPERFTOOLS_ARCH_PATH unset GMP_ARCH_PATH unset MPFR_ARCH_PATH +unset MESA_ARCH_PATH unset METIS_ARCH_PATH unset SCOTCH_ARCH_PATH diff --git a/etc/config.sh/vtk b/etc/config.sh/vtk new file mode 100644 index 00000000000..67ce07dfc72 --- /dev/null +++ b/etc/config.sh/vtk @@ -0,0 +1,72 @@ +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# File +# etc/config.sh/vtk +# +# Description +# Setup file for VTK (and MESA) +# Sourced from OpenFOAM-<VERSION>/etc/bashrc +# +# The library path is not adjusted with the paths specified here do not exist +# +# Note +# When _foamAddLib is unset +# - the vtk_version, mesa_version variables are retained. +#------------------------------------------------------------------------------ + +vtk_version=VTK-7.1.0 +mesa_version=mesa-13.0.1 + +export VTK_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version +export MESA_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version + +#------------------------------------------------------------------------------ +if [ "$FOAM_VERBOSE" -a "$PS1" ] +then + echo "Using vtk ($vtk_version) -> $VTK_ARCH_PATH" 1>&2 + echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" 1>&2 +fi + +if type _foamAddLib > /dev/null 2>&1 # normal sourcing +then + + # Set paths if binaries are present + if [ -r $VTK_DIR ] + then + _foamAddLib $VTK_DIR/lib$WM_COMPILER_LIB_ARCH + else + unset VTK_DIR + fi + + if [ -r $MESA_ARCH_PATH ] + then + _foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH + else + unset MESA_ARCH_PATH + fi + + unset vtk_version mesa_version +fi + +#------------------------------------------------------------------------------ diff --git a/etc/cshrc b/etc/cshrc index 54c74ad3f96..d5f315ee162 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -215,6 +215,7 @@ _foamSource $WM_PROJECT_DIR/etc/config.csh/aliases # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/paraview` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/vtk` _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/ensight` ##_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/ADIOS` -- GitLab