ENH: robustness, consistency for wmake -show-api, -version
- add to wmakeFunctions to ensure it works even without 'make' being installed. Exit immediately after -show-api for consistency with -version. foamEtcFile: - drop warnings for some old (pre-v1812) defunct options and simply flag as unknown options. - handle -version, --version as equivalent to -show-api
This commit is contained in:
parent
1afa6f1b46
commit
c7bde70ecb
@ -7,7 +7,7 @@
|
|||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
# Copyright (C) 2017-2020 OpenCFD Ltd.
|
# Copyright (C) 2017-2021 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||||
@ -74,15 +74,16 @@ options:
|
|||||||
-with-api=NUM Specify alternative api value to search with
|
-with-api=NUM Specify alternative api value to search with
|
||||||
-quiet (-q) Suppress all normal output
|
-quiet (-q) Suppress all normal output
|
||||||
-silent (-s) Suppress stderr, except -csh-verbose, -sh-verbose output
|
-silent (-s) Suppress stderr, except -csh-verbose, -sh-verbose output
|
||||||
|
-version | --version Print version (same as -show-api)
|
||||||
-help Print the usage
|
-help Print the usage
|
||||||
|
|
||||||
Locate user/group/other file as per '#includeEtc'
|
Locate user/group/other file as per '#includeEtc'
|
||||||
|
|
||||||
Do not group single character options.
|
Do not group single character options.
|
||||||
Equivalent options:
|
Equivalent options:
|
||||||
| -mode=MODE | -mode MODE | -m MODE
|
| -mode=MODE | -mode MODE | -m MODE
|
||||||
| -prefix=DIR | -prefix DIR | -p DIR [obsolete 1812]
|
| -prefix=DIR [obsolete 1812]
|
||||||
| -version=VER | -version VER | -v VER [obsolete 1812]
|
| -version=VER [obsolete 1812]
|
||||||
|
|
||||||
Exit status
|
Exit status
|
||||||
0 when the file is found. Print resolved path to stdout.
|
0 when the file is found. Print resolved path to stdout.
|
||||||
@ -149,7 +150,7 @@ do
|
|||||||
-h | -help*)
|
-h | -help*)
|
||||||
printHelp
|
printHelp
|
||||||
;;
|
;;
|
||||||
-show-api) # Show API and exit
|
-show-api | -version | --version) # Show API and exit
|
||||||
getApiInfo api
|
getApiInfo api
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
@ -202,25 +203,17 @@ do
|
|||||||
-s | -silent)
|
-s | -silent)
|
||||||
optSilent=true
|
optSilent=true
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-etc=*)
|
-etc=*)
|
||||||
# FOAM_CONFIG_ETC for finding files. Empty unsets it (later)
|
# FOAM_CONFIG_ETC for finding files. Empty unsets it (later)
|
||||||
export FOAM_CONFIG_ETC="${1#*=}"
|
export FOAM_CONFIG_ETC="${1#*=}"
|
||||||
;;
|
;;
|
||||||
-prefix=* | -version=*)
|
|
||||||
echo "ignored defunct option '${1%%=*}'" 1>&2
|
|
||||||
;;
|
|
||||||
-p | -prefix | -v | -version)
|
|
||||||
# Ignored, but still need to check/discard its argument
|
|
||||||
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
|
||||||
echo "ignored defunct option '$1'" 1>&2
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
|
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
|
-prefix=* | -version=*)
|
||||||
|
echo "ignored defunct option '${1%%=*}'" 1>&2
|
||||||
|
;;
|
||||||
-*)
|
-*)
|
||||||
die "unknown option: '$1'"
|
die "unknown option: '$1'"
|
||||||
;;
|
;;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# \\ / A nd | www.openfoam.com
|
# \\ / A nd | www.openfoam.com
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Copyright (C) 2019-2020 OpenCFD Ltd.
|
# Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||||
@ -55,6 +55,7 @@ COMPILE_CXX := $(strip $(CC) $(c++FLAGS))
|
|||||||
# Display information
|
# Display information
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Extract WM_VERSION = OPENFOAM=<digits>
|
||||||
.PHONY: api
|
.PHONY: api
|
||||||
api:
|
api:
|
||||||
@echo "$(lastword $(subst =, ,$(WM_VERSION)))"
|
@echo "$(lastword $(subst =, ,$(WM_VERSION)))"
|
||||||
|
@ -55,6 +55,28 @@ checkEnv()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# (api) from WM_DIR/rules/General/general
|
||||||
|
# - extract WM_VERSION = OPENFOAM=<digits>
|
||||||
|
getApiOpenFOAM()
|
||||||
|
{
|
||||||
|
local rulesFile="$WM_DIR/rules/General/general"
|
||||||
|
local value
|
||||||
|
|
||||||
|
if [ -n "$WM_DIR" ] && [ -f "$rulesFile" ]
|
||||||
|
then
|
||||||
|
value="$(sed -ne 's@^ *WM_VERSION *= *OPENFOAM=\([0-9][0-9]*\).*@\1@p' "$rulesFile" 2>/dev/null)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$value" ]
|
||||||
|
then
|
||||||
|
echo "$value"
|
||||||
|
else
|
||||||
|
echo "Could not extract OpenFOAM API value" 1>&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Set FOAM_MODULE_PREFIX according to
|
# Set FOAM_MODULE_PREFIX according to
|
||||||
# - absolute/relative path
|
# - absolute/relative path
|
||||||
# - predefined type (u,user | g,group | o,openfoam)
|
# - predefined type (u,user | g,group | o,openfoam)
|
||||||
|
16
wmake/wmake
16
wmake/wmake
@ -7,7 +7,7 @@
|
|||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
# Copyright (C) 2017-2020 OpenCFD Ltd.
|
# Copyright (C) 2017-2021 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM.
|
||||||
@ -183,7 +183,8 @@ die()
|
|||||||
make="make"
|
make="make"
|
||||||
|
|
||||||
# Print compiler/system information (serial only)
|
# Print compiler/system information (serial only)
|
||||||
printInfo() {
|
printInfo()
|
||||||
|
{
|
||||||
if [ -f "$WM_DIR"/makefiles/info ]
|
if [ -f "$WM_DIR"/makefiles/info ]
|
||||||
then
|
then
|
||||||
make --no-print-directory -f "$WM_DIR"/makefiles/info "$@"
|
make --no-print-directory -f "$WM_DIR"/makefiles/info "$@"
|
||||||
@ -193,6 +194,7 @@ printInfo() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
# Set nCores to the number of cores on the machine
|
# Set nCores to the number of cores on the machine
|
||||||
@ -265,7 +267,7 @@ do
|
|||||||
setModulePrefix "${1#*=}"
|
setModulePrefix "${1#*=}"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-show-api | -show-ext-so | \
|
-show-ext-so | \
|
||||||
-show-compile-c | -show-c | -show-cflags | -show-cflags-arch | \
|
-show-compile-c | -show-c | -show-cflags | -show-cflags-arch | \
|
||||||
-show-compile-cxx | -show-cxx | -show-cxxflags | -show-cxxflags-arch | \
|
-show-compile-cxx | -show-cxx | -show-cxxflags | -show-cxxflags-arch | \
|
||||||
-show-mpi-compile | -show-mpi-link )
|
-show-mpi-compile | -show-mpi-link )
|
||||||
@ -323,10 +325,10 @@ do
|
|||||||
optUpdate=true
|
optUpdate=true
|
||||||
: "${optAll:=all}" # implies 'all', unless previously set
|
: "${optAll:=all}" # implies 'all', unless previously set
|
||||||
;;
|
;;
|
||||||
-version | --version)
|
|
||||||
printInfo api
|
-show-api | -version | --version)
|
||||||
optShow=true
|
getApiOpenFOAM # From wmakeFunctions
|
||||||
break;
|
exit "$?"
|
||||||
;;
|
;;
|
||||||
-*)
|
-*)
|
||||||
die "unknown option: '$1'"
|
die "unknown option: '$1'"
|
||||||
|
Loading…
Reference in New Issue
Block a user