ENH: improvements for FOAM_CONFIG_ETC
- handle relative directory names for FOAM_CONFIG_ETC
This commit is contained in:
parent
6a1efe3b5c
commit
a6e86caa62
@ -68,6 +68,7 @@ options:
|
|||||||
-config Add config directory prefix for shell type:
|
-config Add config directory prefix for shell type:
|
||||||
with -csh* for a config.csh/ prefix
|
with -csh* for a config.csh/ prefix
|
||||||
with -sh* for a config.sh/ prefix
|
with -sh* for a config.sh/ prefix
|
||||||
|
-etc=[DIR] set/unset FOAM_CONFIG_ETC for alternative etc directory
|
||||||
-show-api Print META-INFO api value and exit
|
-show-api Print META-INFO api value and exit
|
||||||
-show-patch Print META-INFO patch value and exit
|
-show-patch Print META-INFO patch value and exit
|
||||||
-with-api=NUM Specify alternative api value to search with
|
-with-api=NUM Specify alternative api value to search with
|
||||||
@ -118,15 +119,6 @@ optMode=ugo # Default search = 'ugo'
|
|||||||
# Environment overrides
|
# Environment overrides
|
||||||
case "$FOAM_CONFIG_MODE" in ([ugo]*) optMode="$FOAM_CONFIG_MODE" ;; esac
|
case "$FOAM_CONFIG_MODE" in ([ugo]*) optMode="$FOAM_CONFIG_MODE" ;; esac
|
||||||
|
|
||||||
# Verify validity of FOAM_CONFIG_ETC
|
|
||||||
if [ -n "$FOAM_CONFIG_ETC" ]
|
|
||||||
then
|
|
||||||
if [ ! -d "$FOAM_CONFIG_ETC" ] || [ "$FOAM_CONFIG_ETC" = "$projectDir/etc" ]
|
|
||||||
then
|
|
||||||
# Bad directory or redundant value
|
|
||||||
unset FOAM_CONFIG_ETC
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -211,6 +203,10 @@ do
|
|||||||
optSilent=true
|
optSilent=true
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
-etc=*)
|
||||||
|
# FOAM_CONFIG_ETC for finding files. Empty unsets it (later)
|
||||||
|
export FOAM_CONFIG_ETC="${1#*=}"
|
||||||
|
;;
|
||||||
-prefix=* | -version=*)
|
-prefix=* | -version=*)
|
||||||
echo "ignored defunct option '${1%%=*}'" 1>&2
|
echo "ignored defunct option '${1%%=*}'" 1>&2
|
||||||
;;
|
;;
|
||||||
@ -237,6 +233,23 @@ done
|
|||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Verify FOAM_CONFIG_ETC
|
||||||
|
if [ -n "$FOAM_CONFIG_ETC" ]
|
||||||
|
then
|
||||||
|
if [ "$FOAM_CONFIG_ETC" = "etc" ] \
|
||||||
|
|| [ "$FOAM_CONFIG_ETC" = "$projectDir/etc" ]
|
||||||
|
then
|
||||||
|
# Redundant value
|
||||||
|
unset FOAM_CONFIG_ETC
|
||||||
|
elif [ "${FOAM_CONFIG_ETC#/}" = "$FOAM_CONFIG_ETC" ]
|
||||||
|
then
|
||||||
|
# Relative to project-dir
|
||||||
|
FOAM_CONFIG_ETC="$projectDir/$FOAM_CONFIG_ETC"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
unset FOAM_CONFIG_ETC
|
||||||
|
fi
|
||||||
|
|
||||||
# Establish the API value
|
# Establish the API value
|
||||||
[ -n "$projectApi" ] || projectApi=$(getApiInfo api)
|
[ -n "$projectApi" ] || projectApi=$(getApiInfo api)
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ Options
|
|||||||
-help-full Display full help and exit
|
-help-full Display full help and exit
|
||||||
|
|
||||||
Basic
|
Basic
|
||||||
-etc=DIR set FOAM_CONFIG_ETC for alternative project files
|
-etc=[DIR] set/unset FOAM_CONFIG_ETC for alternative project files
|
||||||
-project-path DIR specify 'WM_PROJECT_DIR' (eg, /opt/openfoam1806-patch1)
|
-project-path DIR specify 'WM_PROJECT_DIR' (eg, /opt/openfoam1806-patch1)
|
||||||
-version VER specify project version (eg, v1806)
|
-version VER specify project version (eg, v1806)
|
||||||
-sp | -SP | -float32 single precision (WM_PRECISION_OPTION)
|
-sp | -SP | -float32 single precision (WM_PRECISION_OPTION)
|
||||||
@ -416,8 +416,9 @@ CONFIG_CSH
|
|||||||
## Basic ##
|
## Basic ##
|
||||||
|
|
||||||
-etc=*)
|
-etc=*)
|
||||||
# Define FOAM_CONFIG_ETC for finding files
|
# FOAM_CONFIG_ETC for finding files. Empty unsets it
|
||||||
export FOAM_CONFIG_ETC="${1#*=}"
|
export FOAM_CONFIG_ETC="${1#*=}"
|
||||||
|
[ -n "$FOAM_CONFIG_ETC" ] || unset FOAM_CONFIG_ETC
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-project-path)
|
-project-path)
|
||||||
|
@ -127,12 +127,10 @@ while ( $#argv > 0 )
|
|||||||
shift
|
shift
|
||||||
end
|
end
|
||||||
|
|
||||||
# The prefs may have injected a FOAM_CONFIG_ETC value.
|
# Verify FOAM_CONFIG_ETC (from calling environment or from prefs)
|
||||||
# Verify that it makes sense before continuing.
|
|
||||||
if ( $?FOAM_CONFIG_ETC ) then
|
if ( $?FOAM_CONFIG_ETC ) then
|
||||||
if ( ! -d "$FOAM_CONFIG_ETC" ) then
|
if ( "$FOAM_CONFIG_ETC" == "etc" || "$FOAM_CONFIG_ETC" == "$WM_PROJECT_DIR/etc" ) then
|
||||||
echo "Ignore invalid FOAM_CONFIG_ETC = $FOAM_CONFIG_ETC"
|
# Redundant value
|
||||||
else if ( "$FOAM_CONFIG_ETC" == "$WM_PROJECT_DIR/etc" ) then
|
|
||||||
unsetenv FOAM_CONFIG_ETC
|
unsetenv FOAM_CONFIG_ETC
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -115,19 +115,19 @@ else
|
|||||||
_foamEval "$@"
|
_foamEval "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# The prefs may have injected a FOAM_CONFIG_ETC value.
|
# Verify FOAM_CONFIG_ETC (from calling environment or from prefs)
|
||||||
# Verify that it makes sense before continuing.
|
|
||||||
if [ -n "$FOAM_CONFIG_ETC" ]
|
if [ -n "$FOAM_CONFIG_ETC" ]
|
||||||
then
|
then
|
||||||
if [ ! -d "$FOAM_CONFIG_ETC" ]
|
if [ "$FOAM_CONFIG_ETC" = "etc" ] \
|
||||||
then
|
|| [ "$FOAM_CONFIG_ETC" = "$WM_PROJECT_DIR/etc" ]
|
||||||
echo "Ignore invalid FOAM_CONFIG_ETC = $FOAM_CONFIG_ETC" 1>&2
|
|
||||||
unset FOAM_CONFIG_ETC
|
|
||||||
elif [ "$FOAM_CONFIG_ETC" = "$WM_PROJECT_DIR/etc" ]
|
|
||||||
then
|
then
|
||||||
# Redundant value
|
# Redundant value
|
||||||
unset FOAM_CONFIG_ETC
|
unset FOAM_CONFIG_ETC
|
||||||
|
else
|
||||||
|
export FOAM_CONFIG_ETC
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
unset FOAM_CONFIG_ETC
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user