ENH: minor improvements to environment

- handle sourcing bashrc with a relative path (issue #383)
- handle sourcing from bash and zsh.
  Still need manual intervention when sourcing dash, sh, or ksh.
- replace grep in etc/cshrc with sed only
- logical instead of physical path for WM_PROJECT_DIR (issue #431).
  Doesn't seem to be possible for csh/tcsh.

  * Continue using physical locations when comparing directories,
    but not for the top-level FOAM_INST_DIR, WM_PROJECT_DIR.

- relocate WM_CC, WM_CXX overrides from etc/config.*/compiler
  to etc/config.*/settings to ensure that they are left untouched
  when etc/config.sh/compiler is sourced while making third-party
  packages (eg, gcc, llvm, CGAL).

- provide fallback FOAM_TUTORIALS setting in RunFunctions

STYLE: remove "~OpenFOAM" fallback as being too rare, non-obvious
This commit is contained in:
Mark Olesen
2017-03-20 08:57:12 +01:00
parent 5d62a7430d
commit b970ba0901
20 changed files with 267 additions and 268 deletions

View File

@ -85,7 +85,7 @@ expandPath()
# - WM_PROJECT_DIR, HOME
findTarget()
{
local wmpdir=$(expandPath $WM_PROJECT_DIR)
local project=$(expandPath $WM_PROJECT_DIR)
local home=$(expandPath $HOME)
local reldir="${1:-.}"
local absdir=$(expandPath $reldir)
@ -93,7 +93,7 @@ findTarget()
while [ -n "$absdir" ]
do
case "$absdir" in
($wmpdir | $home | /)
($project | $home | /)
break
;;
esac
@ -154,21 +154,21 @@ cdSource()
# - WM_PROJECT_DIR, WM_OPTIONS
findObjectDir()
{
local wmpdir=$(expandPath $WM_PROJECT_DIR)
local exPath=$(expandPath ${1:-.})
local project=$(expandPath $WM_PROJECT_DIR)
local absdir=$(expandPath ${1:-.})
local objectsDir
case "$exPath" in
("$wmpdir"/*)
case "$absdir" in
("$project"/*)
local buildPath=$WM_PROJECT_DIR/build/${WM_OPTIONS}
objectsDir=$buildPath$(echo $exPath | sed s%$wmpdir%% )
objectsDir=$buildPath$(echo $absdir | sed s%$project%% )
;;
(*)
local path=$exPath
local path=$absdir
local appDir=.
[ -d Make ] || appDir=$(findTarget .) || exit 1 # Fatal
exPath=$(expandPath $appDir/.)
objectsDir=$appDir/Make/${WM_OPTIONS}$(echo $path | sed s%$exPath%% )
absdir=$(expandPath $appDir/.)
objectsDir=$appDir/Make/${WM_OPTIONS}$(echo $path | sed s%$absdir%% )
;;
esac