openfoam/etc/config.sh/vtk
Mark Olesen 16d48ed047 CONFIG: improve robustness/flexibility for MPI config handling
- use orte-info to determine prefix/libdir for openmpi.
  This removes a run-time dependency on mpicc, which is actually
  only needed for building with MPI (not running with MPI).
  The corresponding openmpi devel package (deb/rpm) will not
  necessarily be installed on a particular system.

- retain mpicc logic if the new logic using orte-info does not
  deliver an answer. Final fallback to using 'orterun' to
  infer prefix/libdir.

- Additional logic for intel and msmpi to make it easier to
  locate these vendor packages within ThirdParty
  (ie, under ThirdParty/opt/...)

CONFIG: improve robustness

- add check for absolute path when adding PATH/LD_LIBRARY_PATH etc.

- prefix more variables with '_foam*' to prevent accidental overwrite
  of userspace shell variables when sourcing
2021-10-18 11:34:02 +02:00

86 lines
2.7 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2016-2019 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.sh/vtk
# - sourced by OpenFOAM-*/etc/bashrc
#
# Description
# Setup file for VTK (and MESA)
#
# The library path is only adjusted when the paths specified here
# actually exist at the time of sourcing.
#
# Note
# When _foamAddLib is unset
# - vtk_version, mesa_version variables are retained.
# (for future integration into ThirdParty build)
#
# It is recommended to use VTK sources from ParaView (5.0.1 or later).
# When doing so, the ParaView_MESA_DIR variable can be set accordingly.
#
# See doc/BuildIssues.md about problems that can be encountered when using
# the 'plain' VTK sources.
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
vtk_version=VTK-8.2.0
mesa_version=mesa-17.1.1
mesa_llvm=none
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"
export LLVM_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm"
# Define paraview-mesa directory as required
unset ParaView_MESA_DIR
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then
echo "Using vtk" 1>&2
echo " vtk ($vtk_version) $VTK_DIR" 1>&2
echo " mesa ($mesa_version) $MESA_ARCH_PATH" 1>&2
echo " llvm ($mesa_llvm) $LLVM_ARCH_PATH" 1>&2
if [ -d "$ParaView_MESA_DIR" ]
then
echo " paraview-mesa $ParaView_MESA_DIR" 1>&2
fi
fi
if command -v _foamAddLib >/dev/null # normal sourcing
then
# Set paths if binaries are present
if [ -d "$VTK_DIR" ]
then
# Uses lib/ and not lib64/
_foamAddLib "$VTK_DIR/lib"
else
unset VTK_DIR
fi
if [ -d "$MESA_ARCH_PATH" ]
then
_foamAddLibAuto "$LLVM_ARCH_PATH"
_foamAddLibAuto "$MESA_ARCH_PATH"
else
unset LLVM_ARCH_PATH
unset MESA_ARCH_PATH
fi
unset vtk_version mesa_version mesa_llvm
fi
#------------------------------------------------------------------------------