diff --git a/etc/config.sh/petsc b/etc/config.sh/petsc index 937d4ff50824dac6bd3b56accf86c26758cce4ad..3104702764723b2e65d50df1e95941dbfc5c4266 100644 --- a/etc/config.sh/petsc +++ b/etc/config.sh/petsc @@ -43,6 +43,16 @@ then unset petsc_version +elif [ "$1" = "-force" ] +then + # Forced command-line sourcing + + if output="$($WM_PROJECT_DIR/bin/tools/lib-dir -sh $PETSC_ARCH_PATH 2>/dev/null)" + then + eval "$output" + fi + + unset petsc_version output fi #------------------------------------------------------------------------------ diff --git a/wmake/scripts/have_petsc b/wmake/scripts/have_petsc index c4665c7322e00084618b38db542c6e3243e0282d..f3f301b420d18488b6115efa304760913d473576 100644 --- a/wmake/scripts/have_petsc +++ b/wmake/scripts/have_petsc @@ -55,9 +55,17 @@ echo_petsc() have_petsc() { local header library static label settings warn - # warn="==> skip petsc" + warn="==> skip petsc" - # Basic setup/checks + # Basic setup/checks. Prefer current environment value? (TDB) + if [ ! -d "$PETSC_ARCH_PATH" ] + then + settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/petsc) || { + [ -n "$warn" ] && echo "$warn (no config.sh/petsc settings)" + return 1 + } + . $settings + fi if isNone "$PETSC_ARCH_PATH" then [ -n "$warn" ] && echo "$warn (not available)"