Skip to content
Snippets Groups Projects
Commit 8434931c authored by Mark OLESEN's avatar Mark OLESEN
Browse files

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)
parent b12e47d9
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2020 OpenCFD Ltd.
# Copyright (C) 2020-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
......@@ -19,7 +19,7 @@
#
# Example
# bin/tools/vscode-settings > .vscode/settings.json
# etc/openfoam -spdp -int64 bin/tools/vscode-settings
# openfoam -spdp -int64 bin/tools/vscode-settings
#
# Environment
# WM_PROJECT_DIR, WM_PROJECT_USER_DIR, WM_OPTIONS
......@@ -43,7 +43,7 @@ Emit some settings for Visual Studio Code + OpenFOAM
For example,
bin/tools/vscode-settings > .vscode/settings.json
etc/openfoam -spdp -int64 bin/tools/vscode-settings
openfoam -spdp -int64 bin/tools/vscode-settings
USAGE
exit 0 # clean exit
......@@ -80,6 +80,10 @@ echo "options: ${WM_OPTIONS:?not set}" 1>&2
if [ -x "$session" ]
then
echo "session: $session" 1>&2
elif [ -x "$projectDir"/openfoam ]
then
session="$projectDir"/openfoam
echo "session: $session" 1>&2
else
echo "No session: $session" 1>&2
fi
......
......@@ -6,7 +6,7 @@
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2019-2021 OpenCFD Ltd.
# Copyright (C) 2019-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# 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.
#
# 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.
# Some equivalent settings:
# -sp | -DWM_PRECISION_OPTION=SP
......@@ -31,15 +27,33 @@
# -int32 | -DWM_LABEL_SIZE=32
# -int64 | -DWM_LABEL_SIZE=64
#
# The '-D' options grant even more flexibility. For example,
# etc/openfoam -DWM_COMPILER=Clang
# Can use '-D' options for even more flexibility. For example,
#
# 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
# 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!
projectDir="$(\cd "$(dirname "${0%/*}")" && \pwd -L)"
# Auto-detect from location
projectDir="$(\cd "$(dirname "$0")" && \pwd -L)"
# Handle common sub-directory locations
case "$projectDir" in
(*/etc | */share)
projectDir="${projectDir%/*}"
;;
esac
#------------------------------------------------------------------------------
printHelp() {
......@@ -115,7 +129,7 @@ unset optTestTut
while [ "$#" -gt 0 ]
do
case "$1" in
('') ;;
('') ;; # Ignore empty option
(- | -- | /)
shift
break # Stop option parsing
......@@ -213,9 +227,9 @@ fi
# 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
. "$WM_PROJECT_DIR/etc/config.sh/unset" || true
. "$WM_PROJECT_DIR"/etc/config.sh/unset || true
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment