etc/settings.{csh,sh} - streamline

- avoid mkdir except for a few directories
  - grouped settings and added comments
  - minor bugfix: $FOAM_INST_DIR/linux64/bin was in path (pre OpenFOAM-1.5)
  - local (non-exported) variables in lowercase
This commit is contained in:
Mark Olesen
2008-10-06 17:38:29 +02:00
parent 7895a413a7
commit b1360b7671
6 changed files with 117 additions and 110 deletions

View File

@ -23,7 +23,7 @@
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# settings.csh
# etc/settings.csh
#
# Description
# Startup file for OpenFOAM
@ -31,54 +31,64 @@
#
#------------------------------------------------------------------------------
alias _foamAddPath 'set path=(\!* $path) ; if ( ! -d \!* ) mkdir -p \!*'
alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH} ; set xx=`echo $LD_LIBRARY_PATH | sed -e "s/:.*//"`; if ( ! -d $xx ) mkdir -p $xx'
# prefix to PATH
alias _foamAddPath 'set path=(\!* $path)'
# prefix to LD_LIBRARY_PATH
alias _foamAddLib 'setenv LD_LIBRARY_PATH \!*\:${LD_LIBRARY_PATH}'
# make directory if it doesn't already exist
alias _foamMkDir 'if ( ! -d \!* ) mkdir -p \!*'
# location of the jobControl directory
setenv FOAM_JOB_DIR $WM_PROJECT_INST_DIR/jobControl
#- Add the system-specific executables path to the path
set path=($WM_PROJECT_DIR/bin $FOAM_INST_DIR/$WM_ARCH/bin $path)
#- Location of the jobControl directory
setenv FOAM_JOB_DIR $FOAM_INST_DIR/jobControl
# wmake configuration
setenv WM_DIR $WM_PROJECT_DIR/wmake
setenv WM_LINK_LANGUAGE c++
setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
set path=($WM_DIR $path)
# base configuration
setenv FOAM_SRC $WM_PROJECT_DIR/src
setenv FOAM_LIB $WM_PROJECT_DIR/lib
setenv FOAM_LIBBIN $FOAM_LIB/$WM_OPTIONS
_foamAddLib $FOAM_LIBBIN
setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
setenv FOAM_APP $WM_PROJECT_DIR/applications
setenv FOAM_APPBIN $WM_PROJECT_DIR/applications/bin/$WM_OPTIONS
_foamAddPath $FOAM_APPBIN
# user configuration
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
# convenience
setenv FOAM_TUTORIALS $WM_PROJECT_DIR/tutorials
setenv FOAM_UTILITIES $FOAM_APP/utilities
setenv FOAM_SOLVERS $FOAM_APP/solvers
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
_foamAddLib $FOAM_USER_LIBBIN
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
_foamAddPath $FOAM_USER_APPBIN
setenv FOAM_RUN $WM_PROJECT_USER_DIR/run
# add OpenFOAM scripts and wmake to the path
set path=($WM_DIR $WM_PROJECT_DIR/bin $path)
_foamAddPath $FOAM_APPBIN
_foamAddPath $FOAM_USER_APPBIN
_foamAddLib $FOAM_LIBBIN
_foamAddLib $FOAM_USER_LIBBIN
# create these directories if necessary:
_foamMkDir $FOAM_LIBBIN
_foamMkDir $FOAM_APPBIN
_foamMkDir $FOAM_USER_LIBBIN
_foamMkDir $FOAM_USER_APPBIN
# Compiler settings
# ~~~~~~~~~~~~~~~~~
set WM_COMPILER_BIN=
set WM_COMPILER_LIB=
set compilerBin=
set compilerLib=
# Select compiler installation
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WM_COMPILER_INST = OpenFOAM | System
set WM_COMPILER_INST=OpenFOAM
# compilerInstall = OpenFOAM | System
set compilerInstall=OpenFOAM
switch ("$WM_COMPILER_INST")
switch ("$compilerInstall")
case OpenFOAM:
switch ("$WM_COMPILER")
case Gcc:
@ -97,22 +107,22 @@ case OpenFOAM:
echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:"
echo " Cannot find $WM_COMPILER_DIR installation."
echo " Please install this compiler version or if you wish to use the system compiler,"
echo " change the WM_COMPILER_INST setting to 'System' in this file"
echo " change the 'compilerInstall' setting to 'System' in this file"
echo
endif
set WM_COMPILER_BIN="$WM_COMPILER_DIR/bin"
set WM_COMPILER_LIB=$WM_COMPILER_DIR/lib${WM_COMPILER_LIB_ARCH}:$WM_COMPILER_DIR/lib
set compilerBin=$WM_COMPILER_DIR/bin
set compilerLib=$WM_COMPILER_DIR/lib$WM_COMPILER_LIB_ARCH:$WM_COMPILER_DIR/lib
breaksw
endsw
if ($?WM_COMPILER_BIN) then
_foamAddPath $WM_COMPILER_BIN
_foamAddLib $WM_COMPILER_LIB
if ($?compilerBin) then
_foamAddPath $compilerBin
_foamAddLib $compilerLib
endif
unset WM_COMPILER_BIN
unset WM_COMPILER_LIB
unset compilerBin
unset compilerLib
# Communications library
@ -129,8 +139,8 @@ case OPENMPI:
# Tell OpenMPI where to find its install directory
setenv OPAL_PREFIX $MPI_ARCH_PATH
_foamAddLib $MPI_ARCH_PATH/lib
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version
unset mpi_version
@ -143,8 +153,8 @@ case LAM:
setenv LAMHOME $WM_THIRD_PARTY_DIR/$mpi_version
# note: LAMHOME is deprecated, should probably point to MPI_ARCH_PATH too
_foamAddLib $MPI_ARCH_PATH/lib
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version
unset mpi_version
@ -156,8 +166,8 @@ case MPICH:
setenv MPI_ARCH_PATH $MPI_HOME/platforms/$WM_OPTIONS
setenv MPICH_ROOT $MPI_ARCH_PATH
_foamAddLib $MPI_ARCH_PATH/lib
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version
unset mpi_version
@ -169,9 +179,9 @@ case MPICH-GM:
setenv MPICH_ROOT $MPI_ARCH_PATH
setenv GM_LIB_PATH /opt/gm/lib64
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
_foamAddLib $GM_LIB_PATH
_foamAddPath $MPI_ARCH_PATH/bin
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/mpich-gm
breaksw
@ -215,8 +225,8 @@ endif
# cleanup environment:
# ~~~~~~~~~~~~~~~~~~~~
unalias _foamAddLib
unalias _foamAddPath
unalias _foamAddLib
unalias _foamMkDir
# -----------------------------------------------------------------------------