openfoam/etc/config.sh/petsc
Mark Olesen edf9621ebe ENH: add foamConfigurePaths support for homebrew
- new options to set components specified by homebrew.
  Sets version as system, path from brew --prefix

    -adios-brew, -adios2-brew, -boost-brew, -cgal-brew,
    -fftw-brew, -kahip-brew, -metis-brew, -scotch-brew,
    -gmp-brew, -mpfr-brew

    -with-homebrew
     Shortcut for selecting all the above (except gmp, mpfr)

* additional special treatment for GMP and MPFR.

  If using non-system locations and not part of the ThirdParty
  compiler, they can additionally be set in the CGAL config file:

    -gmp-brew, -gmp-path
    -mpfr-brew, -mpfr-path
2025-03-31 16:00:07 +02:00

61 lines
2.0 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2018-2025 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/config.sh/petsc
# [optional/experimental: not sourced by OpenFOAM-*/etc/bashrc]
#
# Description
# Setup for PETSC include/libraries (usually ThirdParty installation).
#
# To disable its use: petsc_version=petsc-none
# For system-wide installations: petsc_version=petsc-system
#
# For central installations not located under ThirdParty:
# 1. use petsc-system
# 2. and provide full path for PETSC_ARCH_PATH
#
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
petsc_version=petsc-3.21.2
export PETSC_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$petsc_version"
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then
echo "Using petsc ($petsc_version) -> $PETSC_ARCH_PATH" 1>&2
fi
if command -v _foamAddLibAuto >/dev/null
then
# Normal sourcing (not makePETSC)
_foamAddLibAuto "$PETSC_ARCH_PATH"
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
#------------------------------------------------------------------------------