From 73cf0583d57dc5ed2610acbe60eb3fb4219d29d3 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Thu, 8 May 2008 14:32:40 +0200
Subject: [PATCH] attempt to preserve the installation directory
 'FOAM_INST_DIR' when sourcing files

---
 wmake/wmakeScheduler | 47 +++++++++++++++++++++++++++-----------------
 1 file changed, 29 insertions(+), 18 deletions(-)

diff --git a/wmake/wmakeScheduler b/wmake/wmakeScheduler
index 1bf2d74d8af..745e07fe271 100755
--- a/wmake/wmakeScheduler
+++ b/wmake/wmakeScheduler
@@ -88,28 +88,39 @@ esac
 # check <installedProject/.$WM_PROJECT-$WM_PROJECT_VERSION/
 if [ "$WM_PROJECT" ]; then
 
-    : ${FOAM_DOT_DIR:=.$WM_PROJECT-$WM_PROJECT_VERSION}
-
-    for i in \
-        $HOME/$FOAM_DOT_DIR \
-        $HOME/.$WM_PROJECT/$WM_PROJECT_VERSION \
-        $HOME/.$WM_PROJECT \
-        $WM_PROJECT_DIR/etc \
-        $WM_PROJECT_DIR/$FOAM_DOT_DIR \
-        ;
-    do
-        if [ -f "$i/$shellRc" ]; then
-            sourceFoam="$i/$shellRc"
-            break
-        fi
-    done
+   : ${FOAM_DOT_DIR:=.$WM_PROJECT-$WM_PROJECT_VERSION}
+
+   for i in \
+      $HOME/$FOAM_DOT_DIR \
+      $HOME/.$WM_PROJECT/$WM_PROJECT_VERSION \
+      $HOME/.$WM_PROJECT \
+      $WM_PROJECT_DIR/etc \
+      $WM_PROJECT_DIR/$FOAM_DOT_DIR \
+      ;
+   do
+      if [ -f "$i/$shellRc" ]; then
+         sourceFoam="$i/$shellRc"
+         break
+      fi
+   done
 fi
 
 # Construct test string for remote execution.
 # Source WM_PROJECT settings if WM_PROJECT environment not set.
+# attempt to preserve the installation directory 'FOAM_INST_DIR'
 case $sourceFoam in
-    */cshrc)  sourceFoam='if ( ! $?WM_PROJECT ) source '"$sourceFoam";;
-    */bashrc) sourceFoam='[ "$WM_PROJECT" ] || . '"$sourceFoam";;
+*/bashrc)
+   if [ "$FOAM_INST_DIR" ]; then
+      sourceFoam='[ "$WM_PROJECT" ] || '"FOAM_INST_DIR=$FOAM_INST_DIR . $sourceFoam"
+   else
+      sourceFoam='[ "$WM_PROJECT" ] || '". $sourceFoam"
+   fi
+   ;;
+
+*/cshrc)
+   # TODO: csh equivalent to bash code (preserving FOAM_INST_DIR)
+   sourceFoam='if ( ! $?WM_PROJECT ) source '"$sourceFoam"
+   ;;
 esac
 
 # quote double-quotes for remote command line
@@ -166,7 +177,7 @@ do
 
                 # Set colour
                 colour=${colours[$colourIndex]}
-                #echo "** host=$host  colourIndex=$colourIndex  colour=$colour"
+                ## echo "** host=$host  colourIndex=$colourIndex  colour=$colour"
 
                 if [ "$host" = "$HOST" ]; then
                     if [ "$colour" ]; then
-- 
GitLab