summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh')
-rw-r--r--var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh94
1 files changed, 94 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh b/var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh
new file mode 100644
index 0000000000..61d9c3ea8b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openfoam-com/common/change-sitedir.sh
@@ -0,0 +1,94 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM.
+#
+# OpenFOAM is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+# . change-sitedir.sh PREFIX [SUFFIX]
+#
+# Shortcuts (prefix)
+# -prefix "$WM_PROJECT_INST_DIR/site"
+# -project "$WM_PROJECT_DIR/site"
+# -none remove from environment
+#
+# Shortcuts (suffix)
+# -platforms "platforms/$WM_OPTIONS"
+#
+# Description
+# Change WM_PROJECT_SITE, FOAM_SITE_APPBIN, FOAM_SITE_LIBBIN
+# and the respective entries in PATH, LD_LIBRARY_PATH.
+#
+# This can be useful when temporarily reassigning the site directory
+# when packaging OpenFOAM.
+#
+# The suffix value should normally include "platforms/$WM_OPTIONS"
+#
+# Example
+# . /path/change-sitedir.sh -prefix -platforms
+#
+# corresponds to the standard site location:
+#
+# $WM_PROJECT_INST_DIR/site{/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS}
+#
+#------------------------------------------------------------------------------
+
+if [ "$#" -ge 1 ]
+then
+ prefix="$1"
+ suffix="$2"
+
+ foamOldDirs="$FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN \
+ $WM_PROJECT_SITE $WM_PROJECT_INST_DIR/site $WM_PROJECT_DIR/site"
+ foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
+ if [ -x "$foamClean" ]
+ then
+ cleaned=$($foamClean "$PATH" "$foamOldDirs") && PATH="$cleaned"
+ cleaned=$($foamClean "$LD_LIBRARY_PATH" "$foamOldDirs") \
+ && LD_LIBRARY_PATH="$cleaned"
+ fi
+
+ case "$suffix" in
+ -plat*) suffix="platforms/$WM_OPTIONS" ;;
+ esac
+ case "$prefix" in
+ -prefix) prefix="$WM_PROJECT_INST_DIR/site" ;;
+ -project) prefix="$WM_PROJECT_DIR/site" ;;
+ -none) unset prefix ;;
+ esac
+
+ if [ -n "$prefix" ]
+ then
+ export WM_PROJECT_SITE="$prefix"
+
+ prefix="$prefix/${WM_PROJECT_VERSION:-unknown}${suffix:+/}${suffix}"
+
+ export FOAM_SITE_APPBIN="$prefix/bin"
+ export FOAM_SITE_LIBBIN="$prefix/lib"
+ PATH="$FOAM_SITE_APPBIN:$PATH"
+ LD_LIBRARY_PATH="$FOAM_SITE_LIBBIN:$LD_LIBRARY_PATH"
+ else
+ unset WM_PROJECT_SITE FOAM_SITE_APPBIN FOAM_SITE_LIBBIN
+ fi
+fi
+
+unset foamClean foamOldDirs cleaned prefix suffix
+
+#------------------------------------------------------------------------------