CONFIG: support call of 'openfoam' wrapper in other in-project locations
- directory discovery originally designed for a sub-dir location (eg, etc/openfoam) but failed if called from within the sub-dir itself. Now simply assume it is located in the project directory or the etc/ sub-dir, so that it can also be relocated into the project directory in the future (pending changes to RPM and debian packaging)
This commit is contained in:
parent
b12e47d9ab
commit
8434931c29
@ -6,7 +6,7 @@
|
|||||||
# \\ / A nd | www.openfoam.com
|
# \\ / A nd | www.openfoam.com
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Copyright (C) 2020 OpenCFD Ltd.
|
# Copyright (C) 2020-2023 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.
|
||||||
@ -19,7 +19,7 @@
|
|||||||
#
|
#
|
||||||
# Example
|
# Example
|
||||||
# bin/tools/vscode-settings > .vscode/settings.json
|
# bin/tools/vscode-settings > .vscode/settings.json
|
||||||
# etc/openfoam -spdp -int64 bin/tools/vscode-settings
|
# openfoam -spdp -int64 bin/tools/vscode-settings
|
||||||
#
|
#
|
||||||
# Environment
|
# Environment
|
||||||
# WM_PROJECT_DIR, WM_PROJECT_USER_DIR, WM_OPTIONS
|
# WM_PROJECT_DIR, WM_PROJECT_USER_DIR, WM_OPTIONS
|
||||||
@ -43,7 +43,7 @@ Emit some settings for Visual Studio Code + OpenFOAM
|
|||||||
|
|
||||||
For example,
|
For example,
|
||||||
bin/tools/vscode-settings > .vscode/settings.json
|
bin/tools/vscode-settings > .vscode/settings.json
|
||||||
etc/openfoam -spdp -int64 bin/tools/vscode-settings
|
openfoam -spdp -int64 bin/tools/vscode-settings
|
||||||
|
|
||||||
USAGE
|
USAGE
|
||||||
exit 0 # clean exit
|
exit 0 # clean exit
|
||||||
@ -80,6 +80,10 @@ echo "options: ${WM_OPTIONS:?not set}" 1>&2
|
|||||||
if [ -x "$session" ]
|
if [ -x "$session" ]
|
||||||
then
|
then
|
||||||
echo "session: $session" 1>&2
|
echo "session: $session" 1>&2
|
||||||
|
elif [ -x "$projectDir"/openfoam ]
|
||||||
|
then
|
||||||
|
session="$projectDir"/openfoam
|
||||||
|
echo "session: $session" 1>&2
|
||||||
else
|
else
|
||||||
echo "No session: $session" 1>&2
|
echo "No session: $session" 1>&2
|
||||||
fi
|
fi
|
||||||
|
38
etc/openfoam
38
etc/openfoam
@ -6,7 +6,7 @@
|
|||||||
# \\ / A nd | www.openfoam.com
|
# \\ / A nd | www.openfoam.com
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Copyright (C) 2019-2021 OpenCFD Ltd.
|
# Copyright (C) 2019-2023 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.
|
||||||
@ -20,10 +20,6 @@
|
|||||||
# the OpenFOAM etc/bashrc file from the project directory.
|
# the OpenFOAM etc/bashrc file from the project directory.
|
||||||
#
|
#
|
||||||
# Note
|
# Note
|
||||||
# This script normally exists in the $WM_PROJECT_DIR/etc/ directory.
|
|
||||||
# Do not copy/move/link to other locations. Use instead an edited copy of
|
|
||||||
# `bin/tools/openfoam.in` with a hard-coded projectDir entry.
|
|
||||||
#
|
|
||||||
# See OpenFOAM etc/bashrc for (command-line) preferences.
|
# See OpenFOAM etc/bashrc for (command-line) preferences.
|
||||||
# Some equivalent settings:
|
# Some equivalent settings:
|
||||||
# -sp | -DWM_PRECISION_OPTION=SP
|
# -sp | -DWM_PRECISION_OPTION=SP
|
||||||
@ -31,15 +27,33 @@
|
|||||||
# -int32 | -DWM_LABEL_SIZE=32
|
# -int32 | -DWM_LABEL_SIZE=32
|
||||||
# -int64 | -DWM_LABEL_SIZE=64
|
# -int64 | -DWM_LABEL_SIZE=64
|
||||||
#
|
#
|
||||||
# The '-D' options grant even more flexibility. For example,
|
# Can use '-D' options for even more flexibility. For example,
|
||||||
# etc/openfoam -DWM_COMPILER=Clang
|
#
|
||||||
|
# openfoam -DWM_COMPILER=Clang
|
||||||
|
#
|
||||||
|
# Warning
|
||||||
|
# This script is to be located in one of the following locations:
|
||||||
|
# - $WM_PROJECT_DIR/
|
||||||
|
# - $WM_PROJECT_DIR/etc/
|
||||||
|
# - $WM_PROJECT_DIR/share/
|
||||||
|
#
|
||||||
|
# Do not copy/move/link to other locations.
|
||||||
|
# Use instead an edited copy of `bin/tools/openfoam.in`
|
||||||
|
# with a hard-coded projectDir entry.
|
||||||
#
|
#
|
||||||
# SeeAlso
|
# SeeAlso
|
||||||
# META-INFO/README.md for other routines that also use META-INFO.
|
# META-INFO/README.md for other routines that also use META-INFO.
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Auto-detect from location. Do not call from within the etc/directory itself!
|
# Auto-detect from location
|
||||||
projectDir="$(\cd "$(dirname "${0%/*}")" && \pwd -L)"
|
projectDir="$(\cd "$(dirname "$0")" && \pwd -L)"
|
||||||
|
|
||||||
|
# Handle common sub-directory locations
|
||||||
|
case "$projectDir" in
|
||||||
|
(*/etc | */share)
|
||||||
|
projectDir="${projectDir%/*}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
printHelp() {
|
printHelp() {
|
||||||
@ -115,7 +129,7 @@ unset optTestTut
|
|||||||
while [ "$#" -gt 0 ]
|
while [ "$#" -gt 0 ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
('') ;;
|
('') ;; # Ignore empty option
|
||||||
(- | -- | /)
|
(- | -- | /)
|
||||||
shift
|
shift
|
||||||
break # Stop option parsing
|
break # Stop option parsing
|
||||||
@ -213,9 +227,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# Remove current OpenFOAM environment
|
# Remove current OpenFOAM environment
|
||||||
if [ -d "$WM_PROJECT_DIR" ] && [ -f "$WM_PROJECT_DIR/etc/config.sh/unset" ]
|
if [ -d "$WM_PROJECT_DIR" ] && [ -f "$WM_PROJECT_DIR"/etc/config.sh/unset ]
|
||||||
then
|
then
|
||||||
. "$WM_PROJECT_DIR/etc/config.sh/unset" || true
|
. "$WM_PROJECT_DIR"/etc/config.sh/unset || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user