ENH: improve foamConfigurePaths, remove some antiquated tools
- add edit of llvm/mesa/vtk paths. Reduce some verbosity - include Darwin in foamInstallationTest, foamSystemCheck to avoid a false negative.
This commit is contained in:
parent
5f90964dee
commit
3fd91c9084
@ -7,11 +7,10 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2017-2018 OpenCFD Ltd.
|
||||
# Copyright (C) 2017-2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, licensed under GNU General Public License
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# foamCleanPath
|
||||
@ -41,7 +40,7 @@
|
||||
# cleaned=$(foamCleanPath -env=PATH dir1:dir2) && PATH=$cleaned
|
||||
#
|
||||
# - Using shell evaluation for the output
|
||||
# eval $(foamCleanPath -sh=PATH $PATH" dir1:dir2)
|
||||
# eval "$(foamCleanPath -sh=PATH "$PATH" dir1:dir2)"
|
||||
# eval "$(foamCleanPath -sh=PATH -env=PATH dir1:dir2)"
|
||||
# eval "$(foamCleanPath -sh-env=PATH dir1:dir2)"
|
||||
#
|
||||
@ -49,16 +48,17 @@
|
||||
# eval `foamCleanPath -csh-env=PATH dir1:dir2`
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
cat <<USAGE 1>&2
|
||||
printHelp() {
|
||||
cat<<USAGE
|
||||
|
||||
Usage: foamCleanPath [OPTION] path [filter] .. [filter]
|
||||
foamCleanPath [OPTION] -env=name [filter] .. [filter]
|
||||
options:
|
||||
-csh=NAME Produce 'setenv NAME ...' output for csh eval
|
||||
-sh=NAME Produce 'NAME=...' output for sh eval
|
||||
-csh-env=NAME As per -csh, with -env for initial content
|
||||
-sh-env=NAME As per -sh, with -env for initial content
|
||||
-env=NAME Evaluate NAME to obtain initial content
|
||||
-csh=NAME Produce 'setenv NAME ...' output for csh eval
|
||||
-csh-env=NAME Like -csh=NAME, with -env for initial content
|
||||
-sh=NAME Produce 'NAME=...' output for sh eval
|
||||
-sh-env=NAME Like -sh=NAME, with -env for initial content
|
||||
-debug Print debug information to stderr
|
||||
-strip Remove inaccessible directories
|
||||
-verbose Report some progress (input, output, ...)
|
||||
@ -75,7 +75,7 @@ Exit status
|
||||
2 initial value of 'path' is empty
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
exit 0 # A clean exit
|
||||
}
|
||||
|
||||
# Report error and exit
|
||||
@ -86,7 +86,7 @@ die()
|
||||
echo "Error encountered:"
|
||||
while [ "$#" -ge 1 ]; do echo " $1"; shift; done
|
||||
echo
|
||||
echo "See 'foamCleanPath -help' for usage"
|
||||
echo "See '${0##*/} -help' for usage"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
@ -95,41 +95,44 @@ die()
|
||||
|
||||
# Input and outputs
|
||||
unset dirList shellOutput
|
||||
unset optDebug optEnvName optStrip optVerbose
|
||||
|
||||
# Parse options
|
||||
unset optDebug optEnvName optStrip optVerbose
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help*)
|
||||
usage
|
||||
printHelp
|
||||
;;
|
||||
|
||||
-env=*)
|
||||
optEnvName="${1#*=}"
|
||||
[ -n "$optEnvName" ] || die "Option '$1' missing an ENVNAME"
|
||||
;;
|
||||
|
||||
-csh=* | -sh=* | -csh-env=* | -sh-env=*)
|
||||
name="${1#*=}"
|
||||
[ -n "$name" ] || die "Option '$1' missing an ENVNAME"
|
||||
|
||||
# Output prefix
|
||||
case "$1" in
|
||||
-csh*)
|
||||
shellOutput="setenv $name " # eg, "setenv PATH xyz"
|
||||
;;
|
||||
*)
|
||||
shellOutput="$name=" # eg, "PATH=xyz"
|
||||
;;
|
||||
esac
|
||||
|
||||
# For (-csh-env | -sh-env) also use name for input evaluation
|
||||
case "$1" in
|
||||
*-env=*)
|
||||
optEnvName="$name"
|
||||
name="$optEnvName"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Shell-specific output prefix ("setenv ENVNAME xyz" or "ENVNAME=xyz")
|
||||
case "$1" in
|
||||
-csh*)
|
||||
shellOutput="setenv $name "
|
||||
;;
|
||||
*)
|
||||
shellOutput="$name="
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-env=*)
|
||||
name="${1#*=}"
|
||||
[ -n "$name" ] || die "Option '$1' missing an ENVNAME"
|
||||
optEnvName="$name"
|
||||
;;
|
||||
|
||||
-debug)
|
||||
optDebug=true
|
||||
;;
|
||||
|
@ -7,7 +7,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
# Copyright (C) 2019 OpenCFD Ltd.
|
||||
# Copyright (C) 2019-2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM.
|
||||
@ -354,13 +354,13 @@ checkHostName()
|
||||
checkOS()
|
||||
{
|
||||
case "$OSTYPE" in
|
||||
Linux | LinuxAMD64 | SunOS )
|
||||
Linux* | Darwin* | SunOS )
|
||||
echo "$(fixlen OS: $WIDTH) $OSTYPE version $(uname -r)"
|
||||
;;
|
||||
*)
|
||||
echo "FATAL ERROR: Incompatible operating system \"$OSTYPE\"."
|
||||
echo " OpenFOAM ${FWM_PROJECT_VERSION} is currently "
|
||||
echo " available for Linux and SunOS only."
|
||||
echo " available for Linux, Darwin and SunOS only."
|
||||
echo
|
||||
fatalError="x${fatalError}"
|
||||
;;
|
||||
|
@ -7,6 +7,7 @@
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011 OpenFOAM Foundation
|
||||
# Copyright (C) 2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM.
|
||||
@ -114,13 +115,13 @@ fi
|
||||
# check os
|
||||
OSTYPE=$(uname -s)
|
||||
case "$OSTYPE" in
|
||||
Linux | LinuxAMD64 | SunOS )
|
||||
Linux* | Darwin* | SunOS )
|
||||
echo "$(fixlen OS: $WIDTH) $OSTYPE version $(uname -r)"
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Incompatible operating system \"$OSTYPE\"."
|
||||
echo " OpenFOAM $WM_PROJECT_VERSION is currently available for "
|
||||
echo " Linux, LinuxAMD64 and SunOS only."
|
||||
echo " Linux, Darwin and SunOS only."
|
||||
echo
|
||||
fatalError=true
|
||||
;;
|
||||
|
@ -5,23 +5,10 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2017-2019 OpenCFD Ltd.
|
||||
# Copyright (C) 2017-2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# 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/>.
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# . change-sitedir.sh PREFIX [SUFFIX]
|
||||
@ -59,7 +46,7 @@ then
|
||||
|
||||
foamOldDirs="$FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN \
|
||||
$WM_PROJECT_SITE $WM_PROJECT_DIR/site"
|
||||
foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
|
||||
foamClean="$WM_PROJECT_DIR/bin/foamCleanPath"
|
||||
if [ -x "$foamClean" ]
|
||||
then
|
||||
cleaned=$($foamClean "$PATH" "$foamOldDirs") && PATH="$cleaned"
|
||||
|
@ -5,23 +5,10 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2017 OpenCFD Ltd.
|
||||
# Copyright (C) 2017-2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# 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/>.
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# . change-userdir.sh PREFIX [SUFFIX]
|
||||
@ -59,7 +46,7 @@ then
|
||||
suffix="$2"
|
||||
|
||||
foamOldDirs="$FOAM_USER_APPBIN $FOAM_USER_LIBBIN"
|
||||
foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
|
||||
foamClean="$WM_PROJECT_DIR/bin/foamCleanPath"
|
||||
if [ -x "$foamClean" ]
|
||||
then
|
||||
cleaned=$($foamClean "$PATH" "$foamOldDirs") && PATH="$cleaned"
|
||||
|
@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011 OpenFOAM Foundation
|
||||
#------------------------------------------------------------------------------
|
||||
# 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
|
||||
# foamAllHC
|
||||
#
|
||||
# Description
|
||||
# execute operation $1 on all C,H,L files
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
if [ "$#" -gt 0 ]
|
||||
then
|
||||
find . -name "*.[CHL]" -type f -exec $1 {} \; -print
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
@ -29,18 +29,49 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
printHelp() {
|
||||
cat<<USAGE
|
||||
|
||||
case "$1" in
|
||||
(*compat*)
|
||||
cat<<HELP_COMPAT
|
||||
Obsolete options:
|
||||
-foamInstall DIR [obsolete]
|
||||
-projectName NAME [obsolete]
|
||||
-sigfpe|-no-sigfpe [obsolete - now under etc/controlDict]
|
||||
-archOption 32|64 [obsolete setting of 'WM_ARCH_OPTION' - edit manually]
|
||||
|
||||
Equivalent options:
|
||||
-version -foamVersion --projectVersion
|
||||
-archOption --archOption
|
||||
-third -ThirdParty
|
||||
-paraview --paraviewVersion | -paraviewVersion
|
||||
-paraview-path --paraviewInstall | -paraviewInstall
|
||||
-scotch --scotchVersion | -scotchVersion
|
||||
-scotch-path --scotchArchPath | -scotchArchPath
|
||||
-system-compiler -system
|
||||
-third-compiler -third
|
||||
|
||||
HELP_COMPAT
|
||||
exit 0 # A clean exit
|
||||
;;
|
||||
esac
|
||||
|
||||
cat<<HELP_HEAD
|
||||
|
||||
usage: $0 options
|
||||
|
||||
Options
|
||||
-h | -help Display short help and exit
|
||||
-help-compat Display compatibility options and exit
|
||||
-help-full Display full help and exit
|
||||
|
||||
Basic
|
||||
-etc=DIR set FOAM_CONFIG_ETC for alternative project files
|
||||
-project-path DIR specify 'WM_PROJECT_DIR' (eg, /opt/openfoam1806-patch1)
|
||||
-version VER specify project version (eg, v1806)
|
||||
-sp | -SP | -float32 single precision (WM_PRECISION_OPTION)
|
||||
-dp | -DP | -float64 double precision (WM_PRECISION_OPTION)
|
||||
-spdp | -SPDP mixed single/double precision
|
||||
-int32 | -int64 the 'WM_LABEL_SIZE'
|
||||
-spdp | -SPDP mixed precision (WM_PRECISION_OPTION)
|
||||
-int32 | -int64 label-size (WM_LABEL_SIZE)
|
||||
|
||||
Compiler
|
||||
-system-compiler NAME The 'system' compiler to use (eg, Gcc, Clang, Icc,...)
|
||||
@ -57,16 +88,21 @@ MPI
|
||||
-openmpi-system use system openmpi
|
||||
-openmpi-third use ThirdParty openmpi (using default version)
|
||||
|
||||
ThirdParty versions
|
||||
Components versions (ThirdParty)
|
||||
-adios VER specify 'adios2_version'
|
||||
-boost VER specify 'boost_version'
|
||||
-cgal ver specify 'cgal_version'
|
||||
-cgal VER specify 'cgal_version'
|
||||
-cmake VER specify 'cmake_version'
|
||||
-fftw VER specify 'fffw_version'
|
||||
-kahip VER specify 'KAHIP_VERSION'
|
||||
-metis ver specify 'METIS_VERSION'
|
||||
-metis VER specify 'METIS_VERSION'
|
||||
-scotch VER specify 'SCOTCH_VERSION' (eg, scotch_6.0.4)
|
||||
|
||||
HELP_HEAD
|
||||
|
||||
case "$1" in
|
||||
(*full*)
|
||||
cat<<HELP_FULL
|
||||
Components specified by absolute path
|
||||
-adios-path DIR Path for 'ADIOS2_ARCH_PATH' (overrides -adios)
|
||||
-boost-path DIR Path for 'BOOST_ARCH_PATH' (overrides -boost)
|
||||
@ -80,32 +116,24 @@ Graphics
|
||||
-paraview VER specify 'ParaView_VERSION' (eg, 5.4.1 or system)
|
||||
-paraview-qt VER specify 'ParaView_QT' (eg, qt-system)
|
||||
-paraview-path DIR specify 'ParaView_DIR' (eg, /opt/ParaView-5.4.1)
|
||||
-vtk VER specify 'vtk_version' (eg, VTK-7.1.0)
|
||||
-llvm VER specify 'mesa_llvm'
|
||||
-mesa VER specify 'mesa_version' (eg, mesa-13.0.1)
|
||||
-vtk VER specify 'vtk_version' (eg, VTK-7.1.0)
|
||||
-llvm-path DIR Path for 'LLVM_ARCH_PATH' (overrides -llvm)
|
||||
-mesa-path DIR Path for 'MESA_ARCH_PATH' (overrides -mesa)
|
||||
-vtk-path DIR Path for 'VTK_DIR' (overrides -vtk)
|
||||
|
||||
Misc
|
||||
-foamInstall DIR [obsolete]
|
||||
-projectName NAME [obsolete]
|
||||
-sigfpe|-no-sigfpe [obsolete - now under etc/controlDict]
|
||||
-archOption 32|64 [obsolete setting of 'WM_ARCH_OPTION' - edit manually]
|
||||
HELP_FULL
|
||||
;;
|
||||
esac
|
||||
|
||||
cat<<HELP_TAIL_COMMON
|
||||
Adjusts hardcoded versions and installation paths (POSIX and C-shell)
|
||||
for OpenFOAM.
|
||||
|
||||
Adjusts hardcoded versions and installation paths (POSIX and C-shell).
|
||||
HELP_TAIL_COMMON
|
||||
|
||||
|
||||
Equivalent options:
|
||||
-version -foamVersion --projectVersion
|
||||
-archOption --archOption
|
||||
-third -ThirdParty
|
||||
-paraview --paraviewVersion | -paraviewVersion
|
||||
-paraview-path --paraviewInstall | -paraviewInstall
|
||||
-scotch --scotchVersion | -scotchVersion
|
||||
-scotch-path --scotchArchPath | -scotchArchPath
|
||||
-system-compiler -system
|
||||
-third-compiler -third
|
||||
|
||||
USAGE
|
||||
exit 0 # clean exit
|
||||
exit 0 # A clean exit
|
||||
}
|
||||
|
||||
|
||||
@ -123,11 +151,12 @@ die()
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
projectDir="$(\pwd -L)" # Project dir
|
||||
|
||||
# Check that it appears to be an OpenFOAM installation
|
||||
if [ -f etc/bashrc ] && [ -d "META-INFO" ]
|
||||
then
|
||||
echo "Configuring OpenFOAM" 1>&2
|
||||
echo "Configuring OpenFOAM ($projectDir)" 1>&2
|
||||
else
|
||||
die "Please run from the OpenFOAM top-level installation directory" \
|
||||
"No etc/bashrc or META-INFO/ found"
|
||||
@ -172,18 +201,22 @@ _inlineSed()
|
||||
local replacement="$3"
|
||||
local msg="$4"
|
||||
local cmd='/^[^#]/s@'"$regexp"'@'"$replacement"'@'
|
||||
local localFile
|
||||
|
||||
[ -f "$file" ] || {
|
||||
echo "Missing file: $file"
|
||||
exit 2 # Fatal
|
||||
}
|
||||
|
||||
# Local filename (for reporting)
|
||||
localFile="$(echo "$file" | sed -e "s#^$projectDir/##")"
|
||||
|
||||
grep -q "$regexp" "$file" && sed -i -e "$cmd" "$file" || { \
|
||||
echo "Failed: ${msg:-replacement} in $file"
|
||||
echo "Failed: ${msg:-replacement} in $localFile"
|
||||
return 1
|
||||
}
|
||||
|
||||
[ -n "$msg" ] && echo " $msg ($file)"
|
||||
[ -n "$msg" ] && echo " $msg ($localFile)"
|
||||
|
||||
return 0
|
||||
}
|
||||
@ -209,7 +242,7 @@ replace()
|
||||
"$file" \
|
||||
"$key=.*" \
|
||||
"$key=$val" \
|
||||
"Replaced $key setting by '$val'"
|
||||
"Replaced $key by '$val'"
|
||||
done
|
||||
}
|
||||
|
||||
@ -232,9 +265,9 @@ replaceCsh()
|
||||
|
||||
_inlineSed \
|
||||
"$file" \
|
||||
"setenv *$key [^ #]*" \
|
||||
"setenv [ ]*$key [^ #]*" \
|
||||
"setenv $key $val" \
|
||||
"Replaced $key setenv by '$val'"
|
||||
"Replaced $key by '$val'"
|
||||
done
|
||||
}
|
||||
|
||||
@ -323,7 +356,13 @@ unset adjusted optMpi
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help* | --help*)
|
||||
-help-c*) # Compat help
|
||||
printHelp -compat
|
||||
;;
|
||||
-help-f*) # Full help
|
||||
printHelp -full
|
||||
;;
|
||||
-h | -help*) # Short help
|
||||
printHelp
|
||||
;;
|
||||
'')
|
||||
@ -516,12 +555,12 @@ CONFIG_CSH
|
||||
_inlineSed $(_foamEtc config.sh/mpi) \
|
||||
"FOAM_MPI=$expected" \
|
||||
"FOAM_MPI=$optMpi" \
|
||||
"Replaced 'FOAM_MPI=$expected' setting by 'FOAM_MPI=$optMpi'"
|
||||
"Replaced 'FOAM_MPI=$expected' by 'FOAM_MPI=$optMpi'"
|
||||
|
||||
_inlineSed $(_foamEtc config.csh/mpi) \
|
||||
"FOAM_MPI $expected" \
|
||||
"FOAM_MPI $optMpi" \
|
||||
"Replaced 'FOAM_MPI $expected' setting by 'FOAM_MPI $optMpi'"
|
||||
"Replaced 'FOAM_MPI $expected' by 'FOAM_MPI $optMpi'"
|
||||
|
||||
replaceEtc bashrc WM_MPLIB OPENMPI
|
||||
replaceEtcCsh cshrc WM_MPLIB OPENMPI
|
||||
@ -711,11 +750,11 @@ CONFIG_CSH
|
||||
shift
|
||||
;;
|
||||
|
||||
-vtk)
|
||||
# Replace vtk_version=...
|
||||
-llvm)
|
||||
# Replace mesa_llvm=...
|
||||
optionValue=$(getOptionValue "$@")
|
||||
replaceEtc config.sh/vtk vtk_version "$optionValue"
|
||||
replaceEtc config.csh/vtk vtk_version "$optionValue"
|
||||
replaceEtc config.sh/vtk mesa_llvm "$optionValue"
|
||||
replaceEtc config.csh/vtk mesa_llvm "$optionValue"
|
||||
adjusted=true
|
||||
shift
|
||||
;;
|
||||
@ -729,6 +768,42 @@ CONFIG_CSH
|
||||
shift
|
||||
;;
|
||||
|
||||
-vtk)
|
||||
# Replace vtk_version=...
|
||||
optionValue=$(getOptionValue "$@")
|
||||
replaceEtc config.sh/vtk vtk_version "$optionValue"
|
||||
replaceEtc config.csh/vtk vtk_version "$optionValue"
|
||||
adjusted=true
|
||||
shift
|
||||
;;
|
||||
|
||||
-llvm-path)
|
||||
# Replace LLVM_ARCH_PATH=...
|
||||
optionValue=$(getOptionValue "$@")
|
||||
replaceEtc config.sh/vtk LLVM_ARCH_PATH \""$optionValue\""
|
||||
replaceEtcCsh config.csh/vtk LLVM_ARCH_PATH \""$optionValue\""
|
||||
adjusted=true
|
||||
shift
|
||||
;;
|
||||
|
||||
-mesa-path)
|
||||
# Replace MESA_ARCH_PATH...
|
||||
optionValue=$(getOptionValue "$@")
|
||||
replaceEtc config.sh/vtk MESA_ARCH_PATH \""$optionValue\""
|
||||
replaceEtcCsh config.csh/vtk MESA_ARCH_PATH \""$optionValue\""
|
||||
adjusted=true
|
||||
shift
|
||||
;;
|
||||
|
||||
-vtk-path)
|
||||
# Replace VTK_DIR...
|
||||
optionValue=$(getOptionValue "$@")
|
||||
replaceEtc config.sh/vtk VTK_DIR \""$optionValue\""
|
||||
replaceEtcCsh config.csh/vtk VTK_DIR \""$optionValue\""
|
||||
adjusted=true
|
||||
shift
|
||||
;;
|
||||
|
||||
|
||||
## Misc ##
|
||||
|
||||
|
@ -241,7 +241,7 @@ $MESA_ARCH_PATH $LLVM_ARCH_PATH \
|
||||
$MPI_ARCH_PATH $SCOTCH_ARCH_PATH \
|
||||
$FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN $WM_PROJECT_SITE \
|
||||
$FOAM_USER_APPBIN $FOAM_USER_LIBBIN"
|
||||
foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
|
||||
foamClean="$WM_PROJECT_DIR/bin/foamCleanPath"
|
||||
|
||||
if [ -x "$foamClean" ]
|
||||
then
|
||||
|
@ -6,23 +6,10 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2019 OpenCFD Ltd.
|
||||
# Copyright (C) 2019-2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# 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/>.
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# foamExec <application> ...
|
||||
@ -31,17 +18,20 @@
|
||||
# Runs an application (with arguments) after first sourcing the OpenFOAM
|
||||
# etc/bashrc file from the project directory
|
||||
#
|
||||
# This script must exist in $WM_PROJECT_DIR/bin/tools
|
||||
#
|
||||
# Can useful for parallel runs. For example,
|
||||
#
|
||||
# mpirun -n <nProcs> \
|
||||
# projectDir/bin/tools/foamExec <simpleFoam> ... -parallel
|
||||
#
|
||||
# Note
|
||||
# This script normally exists in the project 'bin/tools' directory.
|
||||
# Do not copy/move/link to other locations unless you also edit it!
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
toolsDir="${0%/*}" # The bin/tools dir
|
||||
projectDir="${toolsDir%/bin/tools}" # Project dir
|
||||
|
||||
printHelp() {
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTION] <application> ...
|
||||
@ -49,11 +39,12 @@ Usage: ${0##*/} [OPTION] <application> ...
|
||||
options:
|
||||
-help Print the usage
|
||||
|
||||
Runs an application (with arguments) after first sourcing the OpenFOAM
|
||||
etc/bashrc file from the project directory
|
||||
Run an application (with arguments) after first sourcing
|
||||
the OpenFOAM etc/bashrc file from the project directory:
|
||||
($projectDir)
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
exit 0 # A clean exit
|
||||
}
|
||||
|
||||
# Report error and exit
|
||||
@ -70,15 +61,13 @@ die()
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
toolsDir="${0%/*}" # The bin/tools dir
|
||||
projectDir="${toolsDir%/bin/tools}" # Project dir
|
||||
|
||||
# Parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help*)
|
||||
usage
|
||||
printHelp
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
@ -116,6 +105,7 @@ sourceBashrc()
|
||||
. "$projectDir/etc/bashrc" $FOAM_SETTINGS
|
||||
}
|
||||
|
||||
|
||||
sourceBashrc
|
||||
exec "$@"
|
||||
|
||||
|
36
bin/tools/help-filter
Executable file
36
bin/tools/help-filter
Executable file
@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (C) 2020 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# help-filter
|
||||
#
|
||||
# Description
|
||||
# Feed with output from -help-full.
|
||||
#
|
||||
# For example,
|
||||
# blockMesh -help-full | ./help-filter
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
sed -ne '1,/^[Oo]ptions:/d' \
|
||||
-e '/^ \{8\}/d;' \
|
||||
-e 's/^ *//; /^$/d; /^[^-]/d; /^--/d; /^-help-man/d;' \
|
||||
-e '/^-hostRoots /d; /^-roots /d;' \
|
||||
-e '/^-lib /d;' \
|
||||
-e '/^-[a-z]*-switch /d;' \
|
||||
-e 'y/,/ /; s/=.*$/=/;' \
|
||||
-e '/^-[^ ]* </{ s/^\(-[^ ]* <\).*$/\1/; p; d }' \
|
||||
-e 's/^\(-[^ ]*\).*$/\1/; p; /^-help-full/q;' \
|
||||
-
|
||||
|
||||
#------------------------------------------------------------------------------
|
@ -22,8 +22,14 @@
|
||||
# LIBEXT if these failed. A DIR ending in "-none" or "-system" is skipped.
|
||||
#
|
||||
# output -csh: setenv LD_LIBRARY_PATH dir/lib:$LD_LIBRARY_PATH
|
||||
# output -make: -Ldir/lib
|
||||
# output -sh: LD_LIBRARY_PATH=dir/lib:$LD_LIBRARY_PATH
|
||||
# output -make: -Ldir/lib
|
||||
#
|
||||
# Note
|
||||
# LD_LIBRARY_PATH automatically changes to DYLD_LIBRARY_PATH for Darwin.
|
||||
#
|
||||
# Environment
|
||||
# WM_COMPILER_LIB_ARCH
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
printHelp() {
|
||||
@ -34,9 +40,9 @@ Usage: ${0##*/} [OPTION] DIR [LIBEXT]
|
||||
options:
|
||||
-sh Emit POSIX shell syntax (default)
|
||||
-csh Emit C-shell shell syntax
|
||||
-sh-verbose As per -sh, with additional verbosity
|
||||
-csh-verbose As per -csh, with additional verbosity
|
||||
-make Emit content for a makefile
|
||||
-sh-verbose Like -sh, with additional verbosity
|
||||
-csh-verbose Like -csh, with additional verbosity
|
||||
-make Emit content for a Makefile
|
||||
-help Print the usage
|
||||
|
||||
Resolves for the existence of DIR/lib64 and DIR/lib, or uses the fallback
|
||||
@ -139,10 +145,10 @@ then
|
||||
# Fallback
|
||||
case "$alt" in
|
||||
/*)
|
||||
resolved=$alt
|
||||
resolved="$alt"
|
||||
;;
|
||||
(*)
|
||||
resolved=$dir/$alt
|
||||
resolved="$dir/$alt"
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
@ -177,6 +183,7 @@ then
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Default is -sh
|
||||
echo "LD_LIBRARY_PATH=$resolved:$LD_LIBRARY_PATH"
|
||||
if [ -n "$verboseOutput" ]
|
||||
then
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Generate Packages file on debian repositories.
|
||||
|
||||
for D in `find . -mindepth 4 -type d`
|
||||
do
|
||||
dpkg-scanpackages $D | gzip -9c > ${D}/Packages.gz
|
||||
done
|
Loading…
Reference in New Issue
Block a user