#----------------------------------*-sh-*-------------------------------------- # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2016-2022 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # File # etc/config.sh/unset # # Description # Clear as many OpenFOAM environment settings as possible # #------------------------------------------------------------------------------ # Clean standard environment variables (PATH, LD_LIBRARY_PATH, MANPATH) foamClean=$WM_PROJECT_DIR/bin/foamCleanPath [ -f "$foamClean" -a -x "$foamClean" ] || unset foamClean # The old dirs to be cleaned from the environment variables foamOldDirs="$WM_PROJECT_DIR $WM_THIRD_PARTY_DIR \ $HOME/$WM_PROJECT/$USER $FOAM_USER_APPBIN $FOAM_USER_LIBBIN \ $WM_PROJECT_SITE $FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN \ $ParaView_DIR $ParaView_MESA_DIR" #------------------------------------------------------------------------------ # Unset WM_* environment variables unset WM_ARCH unset WM_ARCH_OPTION unset WM_COMPILER unset WM_COMPILER_ARCH unset WM_COMPILER_LIB_ARCH unset WM_COMPILER_TYPE unset WM_COMPILE_CONTROL unset WM_COMPILE_OPTION unset WM_DIR unset WM_LABEL_OPTION unset WM_LABEL_SIZE unset WM_MPLIB unset WM_NCOMPPROCS unset WM_OPTIONS unset WM_OSTYPE unset WM_PRECISION_OPTION unset WM_PROJECT unset WM_PROJECT_DIR unset WM_PROJECT_SITE unset WM_PROJECT_USER_DIR unset WM_PROJECT_VERSION unset WM_QUIET unset WM_SCHEDULER unset WM_THIRD_PARTY_DIR # Older, unused variables unset WM_PROJECT_INST_DIR # Before 1906 unset WM_CC WM_CXX WM_CFLAGS WM_CXXFLAGS WM_LDFLAGS #------------------------------------------------------------------------------ # Unset FOAM_* environment variables unset FOAM_API unset FOAM_APPBIN unset FOAM_APP unset FOAM_CODE_TEMPLATES unset FOAM_CONFIG_ETC unset FOAM_CONFIG_MODE unset FOAM_ETC unset FOAM_EXTRA_CFLAGS FOAM_EXTRA_CXXFLAGS FOAM_EXTRA_LDFLAGS unset FOAM_EXT_LIBBIN unset FOAM_JOB_DIR unset FOAM_LIBBIN unset FOAM_MODULE_APPBIN unset FOAM_MODULE_LIBBIN unset FOAM_MODULE_PREFIX unset FOAM_MPI unset FOAM_MPI_LIBBIN unset FOAM_RUN unset FOAM_SETTINGS unset FOAM_SIGFPE unset FOAM_SIGNAN unset FOAM_SITE_APPBIN unset FOAM_SITE_LIBBIN unset FOAM_SOLVERS unset FOAM_SRC unset FOAM_TUTORIALS unset FOAM_USER_APPBIN unset FOAM_USER_LIBBIN unset FOAM_UTILITIES # Build related unset FOAM_BUILDROOT unset FOAM_THIRD_PARTY_BUILDROOT unset FOAM_THIRD_PARTY_SOURCES # Older, unused variables # Before 1812 unset FOAM_INST_DIR #------------------------------------------------------------------------------ # Unset MPI-related environment variables unset MPI_ARCH_PATH unset MPI_BUFFER_SIZE # Cleanup mpi prefix values if set to one of the paths on foamOldDirs if [ -n "$foamClean" ] then # openmpi: [ -z "$($foamClean -env=OPAL_PREFIX $foamOldDirs)" ] && unset OPAL_PREFIX # intelmpi: [ -z "$($foamClean -env=I_MPI_ROOT $foamOldDirs)" ] && unset I_MPI_ROOT fi #------------------------------------------------------------------------------ # Unset ParaView/VTK-related environment variables unset ParaView_DIR unset ParaView_MESA_DIR unset ParaView_INCLUDE_DIR unset ParaView_VERSION unset PV_PLUGIN_PATH unset VTK_DIR # Undefine Qt5_DIR if set to one of the paths on foamOldDirs if [ -n "$foamClean" ] && [ -z "$($foamClean -env=Qt5_DIR $foamOldDirs)" ] then unset Qt5_DIR fi #------------------------------------------------------------------------------ # Unset other ThirdParty environment variables unset ADIOS_ARCH_PATH unset ADIOS1_ARCH_PATH unset ADIOS2_ARCH_PATH unset BOOST_ARCH_PATH unset CCMIO_ARCH_PATH unset CGAL_ARCH_PATH unset FFTW_ARCH_PATH unset GPERFTOOLS_ARCH_PATH unset GMP_ARCH_PATH unset MPFR_ARCH_PATH unset LLVM_ARCH_PATH unset MESA_ARCH_PATH unset KAHIP_ARCH_PATH unset METIS_ARCH_PATH unset SCOTCH_ARCH_PATH #------------------------------------------------------------------------------ # Cleanup environment # PATH, LD_LIBRARY_PATH, MANPATH if [ -n "$foamClean" ] then eval "$($foamClean -sh-env=PATH $foamOldDirs)" eval "$($foamClean -sh-env=MANPATH $foamOldDirs)" eval "$($foamClean -sh-env=LD_LIBRARY_PATH $foamOldDirs)" # Darwin eval "$($foamClean -sh-env=FOAM_LD_LIBRARY_PATH $foamOldDirs)" export DYLD_LIBRARY_PATH="$FOAM_LD_LIBRARY_PATH" fi [ -n "$MANPATH" ] || unset MANPATH [ -n "$LD_LIBRARY_PATH" ] || unset LD_LIBRARY_PATH [ -n "$DYLD_LIBRARY_PATH" ] || unset DYLD_LIBRARY_PATH # Remove shadow env variables unset FOAM_LD_LIBRARY_PATH #------------------------------------------------------------------------------ # Cleanup aliases and functions unalias wmSet 2>/dev/null unalias wmInt32 2>/dev/null unalias wmInt64 2>/dev/null unalias wmDP 2>/dev/null unalias wmSP 2>/dev/null unalias wmSPDP 2>/dev/null unalias wmUnset 2>/dev/null unalias wmSchedOn 2>/dev/null unalias wmSchedOff 2>/dev/null unalias foam 2>/dev/null unalias src 2>/dev/null unalias lib 2>/dev/null unalias app 2>/dev/null unalias sol 2>/dev/null unalias util 2>/dev/null unalias tut 2>/dev/null unalias run 2>/dev/null unalias ufoam 2>/dev/null unalias uapp 2>/dev/null unalias usol 2>/dev/null unalias uutil 2>/dev/null unset -f wmRefresh 2>/dev/null unset -f foamPwd 2>/dev/null unset -f foamVersion 2>/dev/null unset -f foamPV 2>/dev/null # NB: no good way to remove foamPwd reference in PS1. # Remove old completions, which look like # "complete ... -F _of_complete_ APPNAME # For economy, obtain list first foamOldDirs="$(complete 2>/dev/null | sed -ne 's/^.*-F _of_.* \(..*\)$/\1/p')" for cleaned in $foamOldDirs do complete -r "$cleaned" 2>/dev/null done # Completion functions unset -f foamAddCompletion 2>/dev/null unset -f _of_complete_ 2>/dev/null # Completion cache unset _of_complete_cache_ #------------------------------------------------------------------------------ # Intermediate variables (do as last for a clean exit code) unset cleaned foamClean foamOldDirs _foamFoundDir #------------------------------------------------------------------------------