CONFIG: adjust paraview libs, intelmpi handling

- fix overly aggressive match in the API value

- allow `INTELMPI*` generic value, this can be used to specify something
  like INTELMPI_custom and populate the corresponding wmake rule
  manually

STYLE: mention FOAM_BUILDROOT in wmake -help-full output

STYLE: adjust openfoam shell session welcome information

- adjust internal variable names to reduce collision potential

- improve handling of openfoam -etc=...
This commit is contained in:
Mark Olesen
2021-12-07 10:51:09 +01:00
parent 810d0c72ee
commit b25e1486de
9 changed files with 115 additions and 60 deletions

View File

@ -437,10 +437,10 @@ case SGIMPI:
# ----
# Also support any ending (eg, INTELMPI_custom) to allow custom wmake rules
case intelmpi:
case intelmpi-[1-9]*:
case INTELMPI:
case INTELMPI-[1-9]*:
case INTELMPI*: ## Also includes (INTELMPI | INTELMPI-[1-9]*)
setenv FOAM_MPI intelmpi
## Add version embedded in the naming

View File

@ -99,7 +99,7 @@ case "none":
breaksw
case "system":
# Obtain major.minor from `paraview --version`
# Obtain (major.minor) from `paraview --version`
set pv_api=`paraview --version | sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
if ("${pv_api}" == "") then
@ -183,7 +183,7 @@ default:
set pvLibDir="${libDir}/paraview-${pv_api}"
if ( -d "${ParaView_DIR}/${pvLibDir}" ) then
switch ("$pv_api")
case 5.[0-4]*:
case 5.[0-4]:
set libDir="$pvLibDir" # Needs lib/paraview-X.X (not lib)
breaksw
endsw
@ -203,8 +203,8 @@ default:
# Any extra library directories
if ( -n "$pv_libdirs" != "" ) then
switch "WM_ARCH" in
if ( "$pv_libdirs" != "" ) then
switch ("$WM_ARCH")
case darwin*:
setenv DYLD_LIBRARY_PATH "${pv_libdirs}:$DYLD_LIBRARY_PATH"
breaksw

View File

@ -442,8 +442,9 @@ SGIMPI)
# ----
# Also support any ending (eg, INTELMPI_custom) to allow custom wmake rules
intelmpi | intelmpi-[1-9]* |\
INTELMPI | INTELMPI-[1-9]* )
INTELMPI*) # Also includes (INTELMPI | INTELMPI-[1-9]*)
export FOAM_MPI=intelmpi
_foamMpiEmbedVersion intelmpi INTELMPI

View File

@ -118,7 +118,7 @@ case "$ParaView_VERSION" in
;;
([0-9]*)
# Extract API from VERSION
# Extract API (major.minor) from VERSION
pv_api=$(echo "$ParaView_VERSION" | \
sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p')
;;
@ -162,7 +162,7 @@ case "$ParaView_VERSION" in
if [ -d "$ParaView_DIR/$pvLibDir" ]
then
case "$pv_api" in
(5.[0-4]*)
(5.[0-4])
libDir="$pvLibDir" # Needs lib/paraview-X.X (not lib)
;;
esac

View File

@ -264,7 +264,7 @@ GCC_NOT_FOUND
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then
echo "Using ThirdParty compiler"
echo " ${gccDir##*/} (${gmpDir##*/} $${mpfrDir##*/} ${mpcDir##*/})"
echo " ${gccDir##*/} (${gmpDir##*/} ${mpfrDir##*/} ${mpcDir##*/})"
fi
;;

View File

@ -130,22 +130,19 @@ then
;;
(*=)
# name= -> unset name
[ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] \
&& echo "unset ${foamVar_eval%=}" 1>&2
_foamEcho "unset ${foamVar_eval%=}"
eval "unset ${foamVar_eval%=}"
;;
(*=*)
# name=value -> export name=value
[ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] \
&& echo "export $foamVar_eval" 1>&2
_foamEcho "export $foamVar_eval"
eval "export $foamVar_eval"
;;
(*)
# Filename: source it
if [ -f "$foamVar_eval" ]
then
[ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] \
&& echo "Using: $foamVar_eval" 1>&2
_foamEcho "Use file: $foamVar_eval"
. "$foamVar_eval"
elif [ -n "$foamVar_eval" ]
then
@ -229,7 +226,7 @@ then
_foamAddMan "$WM_PROJECT_DIR/doc"
fi
# Interactive shell (use PS1, not tty)
# Interactive shell
if [ -n "$PS1" ]
then
_foamEtc -config aliases

View File

@ -107,7 +107,8 @@ getApiInfo()
# - No inheritance of FOAM_SETTINGS
# - No default verbosity (only as command-line option)
unset FOAM_CONFIG_ETC FOAM_SETTINGS FOAM_VERBOSE
unset _foamEtcDir _foamSettings _foamScriptCommand _foamSourceBashEnv
unset _foam_config_etc _foam_bashrcFile
unset _foamSettings _foamScriptCommand
unset optTestTut
# Parse options
@ -162,9 +163,14 @@ do
_foamSettings="$_foamSettings${_foamSettings:+ }WM_LABEL_SIZE=${1#-int}"
;;
#TDB: -etc-*)
#TDB: # Define FOAM_CONFIG_ETC for finding files
#TDB: _foam_config_etc="${1#*-}"
#TDB: ;;
-etc=*)
# Define FOAM_CONFIG_ETC for finding files
_foamEtcDir="${1#*=}"
_foam_config_etc="${1#*=}"
;;
-prefix=*)
@ -172,7 +178,7 @@ do
;;
-init=*)
_foamSourceBashEnv="${1#*=}"
_foam_bashrcFile="${1#*=}"
;;
-verbose)
@ -227,28 +233,48 @@ then
interactive=true
fi
if [ -z "$_foamSourceBashEnv" ]
if [ -z "$_foam_bashrcFile" ]
then
if [ -n "$interactive" ]
then
# Interactive shell, chain off via a file
_foamSourceBashEnv="$projectDir/bin/tools/source-bashrc"
_foam_bashrcFile="$projectDir/bin/tools/source-bashrc"
else
# Default: OPENFOAM etc/bashrc
_foamSourceBashEnv="$projectDir/etc/bashrc"
_foam_bashrcFile="$projectDir/etc/bashrc"
fi
fi
[ -f "$_foamSourceBashEnv" ] || {
echo "Error: file not found: $_foamSourceBashEnv" 1>&2
[ -f "$_foam_bashrcFile" ] || {
echo "Error: file not found: $_foam_bashrcFile" 1>&2
exit 2
}
if [ -n "$_foamEtcDir" ] && [ -d "$_foamEtcDir" ]
# FOAM_CONFIG_ETC: additional etc directory
case "$_foam_config_etc" in
('') # Empty - ignore
;;
(/*) # Absolute
[ -d "$_foam_config_etc" ] || unset _foam_config_etc
;;
(*) # Relative
if [ -d "$_foam_config_etc" ]
then
# Qualify local dir
_foam_config_etc="$PWD/$_foam_config_etc"
else
[ -d "$projectDir/$_foam_config_etc" ] || unset _foam_config_etc
fi
;;
esac
if [ -n "$_foam_config_etc" ]
then
# Additional etc directory
export FOAM_CONFIG_ETC="$_foamEtcDir"
export FOAM_CONFIG_ETC="$_foam_config_etc"
fi
if [ -n "$interactive" ]
@ -266,10 +292,10 @@ then
export FOAM_SETTINGS="$_foamSettings"
fi
## echo "Source with $_foamSourceBashEnv with '$FOAM_SETTINGS'" 1>&2
## echo "Source with $_foam_bashrcFile with '$FOAM_SETTINGS'" 1>&2
# Newer bash can use --init-file instead of --rcfile
exec bash --rcfile "$_foamSourceBashEnv" -i
exec bash --rcfile "$_foam_bashrcFile" -i
exit $? # Safety
fi
@ -281,7 +307,7 @@ fi
# Suppresses aliases as a side-effect, but non-interactive anyhow.
sourceBashrc()
{
. "$_foamSourceBashEnv" $_foamSettings
. "$_foam_bashrcFile" $_foamSettings
}