Skip to content
Snippets Groups Projects
unset 5.06 KiB
Newer Older
#----------------------------------*-sh-*--------------------------------------
# =========                 |
# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
#  \\    /   O peration     |
#   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
#    \\/     M anipulation  | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
#     This file is part of OpenFOAM, licensed under GNU General Public License
#     <http://www.gnu.org/licenses/>.
#
# Description
#     Clear as many OpenFOAM environment settings as possible
#
#------------------------------------------------------------------------------

# Clean standard environment variables (PATH, LD_LIBRARY_PATH, MANPATH)

unset foamClean
if ( $?WM_PROJECT_DIR ) then
    set foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
    if ( ! -f "$foamClean" || ! -x "$foamClean" ) unset foamClean
endif

# The old dirs to be cleaned from the environment variables
set foamOldDirs="$WM_PROJECT_DIR $WM_THIRD_PARTY_DIR $HOME/$WM_PROJECT/$LOGNAME $FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN"
   set foamOldDirs="$foamOldDirs $WM_PROJECT_SITE"
endif
if ( $?ParaView_DIR ) then
   set foamOldDirs="$foamOldDirs $ParaView_DIR"
endif


#------------------------------------------------------------------------------
# Unset WM_* environment variables

unsetenv WM_ARCH
unsetenv WM_ARCH_OPTION
unsetenv WM_CC
unsetenv WM_CFLAGS
unsetenv WM_COMPILER
unsetenv WM_COMPILER_TYPE
unsetenv WM_COMPILER_LIB_ARCH
unsetenv WM_COMPILE_OPTION
unsetenv WM_CXX
unsetenv WM_CXXFLAGS
unsetenv WM_DIR
unsetenv WM_HOSTS
unsetenv WM_LABEL_OPTION
unsetenv WM_LABEL_SIZE
unsetenv WM_LDFLAGS
unsetenv WM_MPLIB
unsetenv WM_NCOMPPROCS
unsetenv WM_OPTIONS
unsetenv WM_OSTYPE
unsetenv WM_PRECISION_OPTION
unsetenv WM_PROJECT
unsetenv WM_PROJECT_DIR
unsetenv WM_PROJECT_INST_DIR
unsetenv WM_PROJECT_SITE
unsetenv WM_PROJECT_USER_DIR
unsetenv WM_PROJECT_VERSION
unsetenv WM_SCHEDULER
unsetenv WM_THIRD_PARTY_DIR


#------------------------------------------------------------------------------
# Unset FOAM_* environment variables

unsetenv FOAM_APPBIN
unsetenv FOAM_APP
unsetenv FOAM_CODE_TEMPLATES
unsetenv FOAM_ETC
unsetenv FOAM_EXT_LIBBIN
unsetenv FOAM_INST_DIR
unsetenv FOAM_JOB_DIR
unsetenv FOAM_LIBBIN
unsetenv FOAM_MPI
unsetenv FOAM_RUN
unsetenv FOAM_SETTINGS
unsetenv FOAM_SIGFPE
unsetenv FOAM_SIGNAN
unsetenv FOAM_SITE_APPBIN
unsetenv FOAM_SITE_LIBBIN
unsetenv FOAM_SOLVERS
unsetenv FOAM_SRC
unsetenv FOAM_TUTORIALS
unsetenv FOAM_USER_APPBIN
unsetenv FOAM_USER_LIBBIN
unsetenv FOAM_UTILITIES


#------------------------------------------------------------------------------
# Unset MPI-related environment variables

unsetenv MPI_ARCH_PATH
unsetenv MPI_BUFFER_SIZE
unsetenv OPAL_PREFIX

#------------------------------------------------------------------------------
# Unset Ensight/ParaView-related environment variables

unsetenv ENSIGHT9_READER
unsetenv ParaView_DIR
unsetenv ParaView_INCLUDE_DIR
unsetenv ParaView_VERSION
unsetenv VTK_DIR
unsetenv Qt5_DIR  # Perhaps only unset if it is in WM_THIRD_PARTY_DIR?
#------------------------------------------------------------------------------
# Unset other ThirdParty environment variables
unsetenv ADIOS1_ARCH_PATH
unsetenv ADIOS2_ARCH_PATH
unsetenv BOOST_ARCH_PATH
unsetenv CCMIO_ARCH_PATH
unsetenv CGAL_ARCH_PATH
unsetenv FFTW_ARCH_PATH
unsetenv GPERFTOOLS_ARCH_PATH
unsetenv GMP_ARCH_PATH
unsetenv MPFR_ARCH_PATH
unsetenv MESA_ARCH_PATH
unsetenv SCOTCH_ARCH_PATH

#------------------------------------------------------------------------------
# Cleanup environment
# PATH, LD_LIBRARY_PATH, MANPATH

if ( $?foamClean ) then

    eval `$foamClean -csh-env=PATH "$foamOldDirs"`
        eval `$foamClean -csh-env=LD_LIBRARY_PATH "$foamOldDirs"`
        if ( ${%LD_LIBRARY_PATH} == 0 ) unsetenv LD_LIBRARY_PATH
    endif

    if ($?MANPATH) then
        eval `$foamClean -csh-env=MANPATH "$foamOldDirs"`
        if ( ${%MANPATH} == 0 ) unsetenv MANPATH
    endif

endif


#------------------------------------------------------------------------------
# Cleanup aliases
unalias wmInt32
unalias wmInt64
unalias wmSchedOn
unalias wmSchedOff
unalias ufoam
unalias uapp
unalias usol
unalias uutil

# Remove old completions, which look like:
#   complete APPNAME 'p,*,`bash $WM_PROJECT_DIR/etc/ ...
if ($?prompt && $?tcsh) then  # Interactive tcsh only
    foreach cleaned (`complete | sed -ne '/WM_PROJECT/s/\t.*$//p'`)
#------------------------------------------------------------------------------
# Intermediate variables (do as last for a clean exit code)

unset cleaned foamClean foamOldDirs
#------------------------------------------------------------------------------