Compare commits
5 Commits
v2306
...
develop.mo
| Author | SHA1 | Date | |
|---|---|---|---|
| dc217245ff | |||
| cf83f194a8 | |||
| 1ed1f6471b | |||
| 7ff69fa1a7 | |||
| 1fdacf14dd |
7
Allwmake
7
Allwmake
@ -7,7 +7,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -48,7 +48,10 @@ echo Build MPI libraries if required
|
||||
echo " $MPI_ARCH_PATH"
|
||||
case "$WM_MPLIB" in
|
||||
(OPENMPI | MPICH)
|
||||
./make"$WM_MPLIB" -test "$MPI_ARCH_PATH" || ./make"$WM_MPLIB"
|
||||
if ! ./make"$WM_MPLIB" -test "$MPI_ARCH_PATH"
|
||||
then
|
||||
./make"$WM_MPLIB"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
51
BUILD.md
51
BUILD.md
@ -40,11 +40,11 @@ Usage: makeFFTW [OPTION] [fftw-VERSION]
|
||||
|
||||
0. Review the [system requirements][link openfoam-require]
|
||||
and decide on the following:
|
||||
* compiler type/version - if the system compiler is not relatively recent,
|
||||
- compiler type/version - if the system compiler is not relatively recent,
|
||||
you will need a [third-party compiler](#makeGcc) installation.
|
||||
* MPI type/version.
|
||||
* ParaView type/version.
|
||||
* CMake type/version, ...
|
||||
- MPI type/version.
|
||||
- ParaView type/version.
|
||||
- CMake type/version, ...
|
||||
1. If you are using a system MPI (eg, openmpi), ensure that this environment
|
||||
has also been properly activated for your user.
|
||||
Often (but not always) a `mpi-selector` command is available for this purpose.
|
||||
@ -135,7 +135,7 @@ CC=clang CXX=clang++ ./makeGcc gmp-6.1.2 mpfr-4.0.0 gcc-system
|
||||
gmp_version=gmp-6.1.2
|
||||
mpfr_version=mpfr-4.0.0
|
||||
export GMP_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version
|
||||
export GMP_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version
|
||||
export MPFR_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version
|
||||
```
|
||||
* Update update the OpenFOAM environment (eg, `wmRefresh`) again.
|
||||
|
||||
@ -419,6 +419,7 @@ you may have additional hurdles to using the newest versions of clang.
|
||||
| [boost][page boost] | [download][link boost]
|
||||
| [CGAL][page CGAL] | [download][link CGAL]
|
||||
| [FFTW][page FFTW] | [download][link FFTW]
|
||||
| [HDF5][page HDF5] | [download][link HDF5]
|
||||
| [PETSC][page PETSC] | [download][link PETSC]
|
||||
| [HYPRE][page HYPRE] | [repo][repo HYPRE] or [download][link HYPRE]
|
||||
| [ADF/CGNS][page CGNS], ccm | [link ccmio][link ccmio]
|
||||
@ -526,7 +527,11 @@ easier to use `grep` and find the relevant pages and links.
|
||||
<!-- parallel -->
|
||||
[page adios]: https://csmd.ornl.gov/software/adios2
|
||||
[repo adios]: https://github.com/ornladios/ADIOS2
|
||||
[link adios]: https://github.com/ornladios/ADIOS2/archive/v2.8.3.tar.gz
|
||||
[link adios]: https://github.com/ornladios/ADIOS2/archive/v2.10.2.tar.gz
|
||||
|
||||
[page hdf5]: https://www.hdfgroup.org
|
||||
[repo hdf5]: https://github.com/HDFGroup/hdf5
|
||||
[link hdf5]: https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.4.3.tar.gz
|
||||
|
||||
[page zfp]: http://computation.llnl.gov/projects/floating-point-compression/zfp-versions
|
||||
|
||||
@ -539,10 +544,11 @@ easier to use `grep` and find the relevant pages and links.
|
||||
[link scotch61_3]: https://gitlab.inria.fr/scotch/scotch/-/archive/v6.1.3/scotch-v6.1.3.tar.gz
|
||||
[older scotch]: https://gforge.inria.fr/frs/download.php/file/38352/scotch_6.1.0.tar.gz
|
||||
[newer scotch]: https://gitlab.inria.fr/scotch/scotch/-/archive/v7.0.1/scotch-v7.0.1.tar.gz
|
||||
[newest scotch]: https://gitlab.inria.fr/scotch/scotch/-/archive/v7.0.6/scotch-v7.0.6.tar.gz
|
||||
|
||||
[page kahip]: http://algo2.iti.kit.edu/documents/kahip/
|
||||
[older kahip]: https://github.com/KaHIP/KaHIP/archive/v3.14.tar.gz
|
||||
[link kahip]: https://github.com/KaHIP/KaHIP/archive/v3.15.tar.gz
|
||||
[older kahip]: https://github.com/KaHIP/KaHIP/archive/v3.15.tar.gz
|
||||
[link kahip]: https://github.com/KaHIP/KaHIP/archive/v3.18.tar.gz
|
||||
|
||||
[page metis]: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
|
||||
[link metis]: http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz
|
||||
@ -552,30 +558,32 @@ easier to use `grep` and find the relevant pages and links.
|
||||
[link openmpi]: https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.bz2
|
||||
|
||||
[page mpich]: http://www.mpich.org/
|
||||
[link mpich]: http://www.mpich.org/static/downloads/3.4.2/mpich-3.4.2.tar.gz
|
||||
[older mpich]: http://www.mpich.org/static/downloads/3.4.2/mpich-3.4.2.tar.gz
|
||||
[link mpich]: https://www.mpich.org/static/downloads/4.2.3/mpich-4.2.3.tar.gz
|
||||
|
||||
[page mvpapich]: http://mvapich.cse.ohio-state.edu/
|
||||
[link mvpapich]: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.6.tar.gz
|
||||
[link mvpapich]: https://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.7-1.tar.gz
|
||||
|
||||
<!-- general -->
|
||||
[page cmake]: http://www.cmake.org/
|
||||
[link cmake]: https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz
|
||||
|
||||
[page boost]: http://boost.org
|
||||
[link boost]: https://sourceforge.net/projects/boost/files/boost/1.74.0/boost_1_74_0.tar.bz2
|
||||
[link boost]: https://sourceforge.net/projects/boost/files/boost/1.87.0/boost_1_87_0.tar.bz2
|
||||
|
||||
[page CGAL]: http://cgal.org
|
||||
[link CGAL]: https://github.com/CGAL/cgal/releases/download/releases/CGAL-4.14.3/CGAL-4.14.3.tar.xz
|
||||
[old CGAL]: https://github.com/CGAL/cgal/releases/download/releases/CGAL-4.14.3/CGAL-4.14.3.tar.xz
|
||||
[link CGAL]: https://github.com/CGAL/cgal/releases/download/v6.0.1/CGAL-6.0.1-library.tar.xz
|
||||
|
||||
[page FFTW]: http://www.fftw.org/
|
||||
[link FFTW]: http://www.fftw.org/fftw-3.3.10.tar.gz
|
||||
|
||||
[page petsc]: https://www.mcs.anl.gov/petsc/
|
||||
[link petsc]: https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.19.2.tar.gz
|
||||
[page petsc]: https://petsc.org/
|
||||
[link petsc]: https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-3.22.4.tar.gz
|
||||
|
||||
[page hypre]: https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/
|
||||
[repo hypre]: https://github.com/hypre-space/hypre/
|
||||
[link hypre]: https://github.com/hypre-space/hypre/archive/v2.28.0.tar.gz
|
||||
[link hypre]: https://github.com/hypre-space/hypre/archive/v2.31.0.tar.gz
|
||||
|
||||
[page cgns]: http://cgns.github.io/
|
||||
[link ccmio]: http://portal.nersc.gov/project/visit/third_party/libccmio-2.6.1.tar.gz (check usage conditions)
|
||||
@ -588,6 +596,12 @@ easier to use `grep` and find the relevant pages and links.
|
||||
[link zlib]: https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.xz
|
||||
|
||||
|
||||
<!-- profiling -->
|
||||
|
||||
[link extrae]: https://github.com/bsc-performance-tools/extrae/archive/refs/tags/4.1.7.tar.gz
|
||||
[link libunwind]: https://github.com/libunwind/libunwind/releases/download/v1.8.1/libunwind-1.8.1.tar.gz
|
||||
[link papi]: http://icl.utk.edu/projects/papi/downloads/papi-7.0.1.tar.gz
|
||||
|
||||
<!-- Visualization -->
|
||||
|
||||
[page ParaView]: http://www.paraview.org/
|
||||
@ -597,7 +611,10 @@ easier to use `grep` and find the relevant pages and links.
|
||||
[link ParaView58]: http://www.paraview.org/files/v5.8/ParaView-v5.8.1.tar.xz
|
||||
[link ParaView59]: http://www.paraview.org/files/v5.9/ParaView-v5.9.1.tar.xz
|
||||
[link ParaView510]: http://www.paraview.org/files/v5.10/ParaView-v5.10.1.tar.xz
|
||||
[link ParaView]: http://www.paraview.org/files/v5.11/ParaView-v5.11.1.tar.xz
|
||||
[link ParaView511]: http://www.paraview.org/files/v5.11/ParaView-v5.11.2.tar.xz
|
||||
[link ParaView512]: http://www.paraview.org/files/v5.12/ParaView-v5.12.1.tar.xz
|
||||
[link ParaView513]: http://www.paraview.org/files/v5.13/ParaView-v5.13.2.tar.xz
|
||||
[link ParaView]: http://www.paraview.org/files/v5.13/ParaView-v5.13.2.tar.xz
|
||||
|
||||
[page mesa]: http://mesa3d.org/
|
||||
[link mesa]: ftp://ftp.freedesktop.org/pub/mesa/mesa-17.1.1.tar.xz
|
||||
@ -611,4 +628,4 @@ easier to use `grep` and find the relevant pages and links.
|
||||
|
||||
---
|
||||
|
||||
Copyright 2016-2023 OpenCFD Ltd
|
||||
Copyright 2016-2025 OpenCFD Ltd
|
||||
|
||||
24
SOURCES.md
24
SOURCES.md
@ -1,5 +1,29 @@
|
||||
Third-party software (shipped) versions according to OpenFOAM version
|
||||
|
||||
# OpenFOAM-2406, OpenFOAM-2412
|
||||
|
||||
- ADIOS2-2.10.1 *update*
|
||||
- CGAL-4.14.3
|
||||
- ParaView-v5.12.1 *update*
|
||||
- boost_1_74_0
|
||||
- fftw-3.3.10
|
||||
- openmpi-4.1.2
|
||||
- scotch_6.1.0
|
||||
- kahip-3.15
|
||||
|
||||
|
||||
# OpenFOAM-2312
|
||||
|
||||
- ADIOS2-2.9.2 *update*
|
||||
- CGAL-4.14.3
|
||||
- ParaView-v5.11.2 *update*
|
||||
- boost_1_74_0
|
||||
- fftw-3.3.10
|
||||
- openmpi-4.1.2
|
||||
- scotch_6.1.0
|
||||
- kahip-3.15
|
||||
|
||||
|
||||
# OpenFOAM-2306
|
||||
|
||||
- ADIOS2-2.8.3
|
||||
|
||||
57
etc/tools/CMakeFunctions
Normal file
57
etc/tools/CMakeFunctions
Normal file
@ -0,0 +1,57 @@
|
||||
#---------------------------------*- sh -*-------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# File
|
||||
# etc/tools/CMakeFunction
|
||||
#
|
||||
# Description
|
||||
# CMake make/install helper functions
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Variables referenced by the functions. Initialization at the end of the file.
|
||||
unset CMAKE_VARIABLES
|
||||
unset withVERBOSE
|
||||
BUILD_TYPE=Release # The cmake build type
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Set CMake cache variables.
|
||||
# Automatically adds -D prefix it needed
|
||||
#
|
||||
addCMakeVariable()
|
||||
{
|
||||
local i
|
||||
for i
|
||||
do
|
||||
case "$i" in
|
||||
('') ;; # empty
|
||||
(-*) CMAKE_VARIABLES="${CMAKE_VARIABLES} ${i}" ;;
|
||||
(*) CMAKE_VARIABLES="${CMAKE_VARIABLES} -D${i}" ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# Verbose makefiles
|
||||
#
|
||||
addVerbosity()
|
||||
{
|
||||
if [ "${withVERBOSE:=false}" = true ]
|
||||
then
|
||||
addCMakeVariable "CMAKE_VERBOSE_MAKEFILE=TRUE"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -6,7 +6,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -16,6 +16,7 @@
|
||||
#
|
||||
# Description
|
||||
# ParaView make/install helper functions
|
||||
# To be loaded *after* etc/tools/CMakeFunctions
|
||||
#
|
||||
# Note
|
||||
# Obtaining paths via 'python-config' may not always resolve properly:
|
||||
@ -132,23 +133,8 @@ setParaViewVersion()
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Set CMake cache variables.
|
||||
# Automatically adds -D prefix it needed
|
||||
#
|
||||
addCMakeVariable()
|
||||
{
|
||||
local i
|
||||
for i
|
||||
do
|
||||
case "$i" in
|
||||
('') ;; # empty
|
||||
(-*) CMAKE_VARIABLES="${CMAKE_VARIABLES} ${i}" ;;
|
||||
(*) CMAKE_VARIABLES="${CMAKE_VARIABLES} -D${i}" ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# addCMakeVariable : defined in etc/tools/CMakeFunctions
|
||||
# addVerbosity : defined in etc/tools/CMakeFunctions
|
||||
|
||||
#
|
||||
# General settings (version-dependent)
|
||||
@ -165,18 +151,6 @@ addGeneral()
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Verbose makefiles
|
||||
#
|
||||
addVerbosity()
|
||||
{
|
||||
if [ "${withVERBOSE:=false}" = true ]
|
||||
then
|
||||
addCMakeVariable "CMAKE_VERBOSE_MAKEFILE=TRUE"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# MPI support for PARAVIEW
|
||||
#
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -15,7 +15,7 @@
|
||||
#
|
||||
# Description
|
||||
# VTK (library) make/install helper functions.
|
||||
# To be loaded *after* etc/tools/ParaViewFunctions
|
||||
# To be loaded *after* etc/tools/CMakeFunctions, ParaViewFunctions
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2018-2021 OpenCFD Ltd.
|
||||
# Copyright (C) 2018-2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -59,6 +59,7 @@ then
|
||||
}
|
||||
fi
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
|
||||
#------------------------------------------------------------------------------
|
||||
# Obtain version from OpenFOAM etc/config.sh file:
|
||||
_foamConfig adios2
|
||||
@ -82,6 +83,7 @@ options:
|
||||
-gcc Force use of gcc/g++
|
||||
-cmake PATH With cmake from the given path
|
||||
-mpi-home PATH With hint for MPI_HOME
|
||||
-DNAME=VALUE add cmake variable
|
||||
-list List available unpacked source versions
|
||||
-help Display usage help
|
||||
|
||||
@ -124,6 +126,9 @@ do
|
||||
adios2-[0-9]* | adios2-git* | adios-[0-9]* | adios-git*)
|
||||
PACKAGE="${1%%/}"
|
||||
;;
|
||||
-D[A-Z]*=* | [A-Z]*=*) # cmake variables
|
||||
addCMakeVariable "$1"
|
||||
;;
|
||||
*)
|
||||
die "unknown option/argument: '$1'"
|
||||
;;
|
||||
|
||||
235
makeHDF5
Executable file
235
makeHDF5
Executable file
@ -0,0 +1,235 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2024 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# makeHDF5
|
||||
#
|
||||
# Description
|
||||
# Build script for HDF5
|
||||
#
|
||||
# ----------------------------------------------
|
||||
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
|
||||
#------------------------------------------------------------------------------
|
||||
# Dynamic library ending (default is .so)
|
||||
[ "$(uname -s)" = Darwin ] && EXT_SO=.dylib || EXT_SO=.so
|
||||
|
||||
# Short-circuit test for an installation
|
||||
if [ "$1" = "-test" ]
|
||||
then
|
||||
[ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; }
|
||||
dir="${2%/}" # <- *_ARCH_PATH
|
||||
[ -d "$dir/include" ] || exit 2
|
||||
|
||||
package="hdf5"
|
||||
libName="hdf5"
|
||||
for lib in \
|
||||
"$dir/lib/$libName$EXT_SO" \
|
||||
"$dir/lib$WM_COMPILER_LIB_ARCH/$libName$EXT_SO" \
|
||||
;
|
||||
do
|
||||
if [ -r "$lib" ]
|
||||
then
|
||||
echo " $package include: $dir/include"
|
||||
echo " $package library: ${lib%/*}"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
exit 2
|
||||
fi
|
||||
#------------------------------------------------------------------------------
|
||||
if : # Run from third-party directory
|
||||
then
|
||||
cd "${0%/*}" || exit
|
||||
wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
|
||||
echo "Error (${0##*/}) : not located in \$WM_THIRD_PARTY_DIR"
|
||||
echo " Check your OpenFOAM environment and installation"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
|
||||
#------------------------------------------------------------------------------
|
||||
# Obtain version from OpenFOAM etc/config.sh file:
|
||||
_foamConfig hdf5
|
||||
|
||||
PACKAGE="${hdf5_version:-none}"
|
||||
|
||||
# Hint for cmake findMPI
|
||||
if [ -d "$MPI_ARCH_PATH" ]
|
||||
then
|
||||
export MPI_HOME="$MPI_ARCH_PATH"
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
printVersions() { listPackageVersions hdf5; exit 0; }
|
||||
printHelp() {
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTION] [HDF5-VERSION]
|
||||
options:
|
||||
-force Force compilation, even if include/library already exists
|
||||
-gcc Force use of gcc/g++
|
||||
-cmake PATH With cmake from the given path
|
||||
-mpi-home PATH With hint for MPI_HOME
|
||||
-DNAME=VALUE add cmake variable
|
||||
-list List available unpacked source versions
|
||||
-help Display usage help
|
||||
|
||||
* Build HDF5
|
||||
${PACKAGE:-[unspecified]}
|
||||
|
||||
USAGE
|
||||
showDownloadHint hdf5
|
||||
exit 0 # Clean exit
|
||||
}
|
||||
#------------------------------------------------------------------------------
|
||||
exportCompiler minimal # Minimal compiler info for CMake/configure
|
||||
|
||||
unset optForce
|
||||
|
||||
# Parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
'') ;; # Ignore empty
|
||||
-h | -help*) printHelp;;
|
||||
-list) printVersions;;
|
||||
-gcc) useGcc ;;
|
||||
-force) optForce=true ;;
|
||||
|
||||
-cmake)
|
||||
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||
CMAKE_PATH="${2%%/}"
|
||||
shift
|
||||
;;
|
||||
-mpi-home) # mpi with hint
|
||||
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||
export MPI_HOME="${2%%/}"
|
||||
case "${MPI_HOME:-none}" in (false|none) unset MPI_HOME;; esac
|
||||
shift
|
||||
;;
|
||||
|
||||
hdf/* | hdf5/* | sources/hdf* | \
|
||||
hdf5[-_][0-9]* | hdf5-git* )
|
||||
PACKAGE="${1%%/}"
|
||||
;;
|
||||
-D[A-Z]*=* | [A-Z]*=*) # cmake variables
|
||||
addCMakeVariable "$1"
|
||||
;;
|
||||
*)
|
||||
die "unknown option/argument: '$1'"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$PACKAGE" ]
|
||||
then
|
||||
die "The HDF5 package/version not specified"
|
||||
elif _foamIsNone "$PACKAGE" || _foamIsSystem "$PACKAGE"
|
||||
then
|
||||
echo "Using none/system (skip ThirdParty build of HDF5)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Known build issues for mingw (various things)
|
||||
case "$WM_COMPILER" in
|
||||
(Mingw*)
|
||||
if [ "$optForce" = true ]
|
||||
then
|
||||
echo "Warning: hdf5 - likely compilation issues with $WM_COMPILER"
|
||||
else
|
||||
echo "Skipping hdf5 - likely compilation issues with $WM_COMPILER"
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
#
|
||||
# Build HDF5
|
||||
# *PACKAGE : name-version of the package
|
||||
# *SOURCE : location of original sources
|
||||
# *PREFIX : installation directory
|
||||
|
||||
PKG_SOURCE="$(findSourceDir "$PACKAGE")"
|
||||
PACKAGE="$(basename "$PACKAGE")"
|
||||
PKG_PREFIX="$installBASE/$PACKAGE"
|
||||
export GIT_DIR="$PKG_SOURCE/.git"
|
||||
|
||||
: "${FOAM_MPI:=dummy}"
|
||||
|
||||
# FUTURE:
|
||||
#
|
||||
# Manual installation of parallel libraries
|
||||
# from libdir to -> $FOAM_EXT_LIBBIN/$FOAM_MPI
|
||||
#
|
||||
|
||||
echo
|
||||
echo ========================================
|
||||
echo "Build hdf5 library $PACKAGE for $FOAM_MPI"
|
||||
echo
|
||||
|
||||
# Needs future adjustment
|
||||
# - for mpi-specific library locations
|
||||
if [ -z "$optForce" ] \
|
||||
&& [ -f "$PKG_PREFIX/include/hdf5.h" ] \
|
||||
&& {
|
||||
[ -r "$PKG_PREFIX/lib/libhdf5$EXT_SO" ] \
|
||||
|| [ -r "$PKG_PREFIX/lib$WM_COMPILER_LIB_ARCH/libhdf5$EXT_SO" ]
|
||||
}
|
||||
then
|
||||
echo " HDF5 already built : $PKG_PREFIX"
|
||||
else
|
||||
# CMake options often lag the configure ones
|
||||
echo "Starting build: $PACKAGE (using cmake)"
|
||||
echo
|
||||
(
|
||||
PKG_BUILD="$buildBASE/$PACKAGE"
|
||||
cd "$PKG_SOURCE" || exit
|
||||
|
||||
applyPatch "$PACKAGE" "$PKG_SOURCE"
|
||||
|
||||
# Remove any existing build folder and recreate
|
||||
rm -rf "$PKG_PREFIX"
|
||||
rm -rf "$PKG_BUILD"
|
||||
mkdir -p "$PKG_BUILD"
|
||||
|
||||
# May not work properly with FOAM_MPI = dummy
|
||||
if [ "$FOAM_MPI" != dummy ]
|
||||
then
|
||||
CC=mpicc
|
||||
CXX=mpicxx
|
||||
fi
|
||||
|
||||
cmake=$(findCMake)
|
||||
|
||||
# Installs into lib64/
|
||||
cd "$PKG_BUILD" && set -x && \
|
||||
${cmake:?} \
|
||||
-DCMAKE_INSTALL_PREFIX="$PKG_PREFIX" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DHDF5_BUILD_FORTRAN=FALSE \
|
||||
-DHDF5_BUILD_TESTING=FALSE \
|
||||
-DHDF5_BUILD_STATIC_LIBS=FALSE \
|
||||
${WM_QUIET:+-DCMAKE_RULE_MESSAGES=OFF} \
|
||||
"$PKG_SOURCE" \
|
||||
&& make -j $WM_NCOMPPROCS all \
|
||||
&& make install \
|
||||
&& echo "Built: $PACKAGE"
|
||||
) || {
|
||||
echo "Error building: $PACKAGE"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@ -36,6 +36,7 @@ then
|
||||
}
|
||||
fi
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ParaViewFunctions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
233
makeUMPIRE
Executable file
233
makeUMPIRE
Executable file
@ -0,0 +1,233 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2025 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
#
|
||||
# Script
|
||||
# makeUMPIRE
|
||||
#
|
||||
# Description
|
||||
# Build script for UMPIRE
|
||||
#
|
||||
# ----------------------------------------------
|
||||
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
|
||||
#------------------------------------------------------------------------------
|
||||
# Dynamic library ending (default is .so)
|
||||
[ "$(uname -s)" = Darwin ] && EXT_SO=.dylib || EXT_SO=.so
|
||||
|
||||
# Short-circuit test for an installation
|
||||
if [ "$1" = "-test" ]
|
||||
then
|
||||
[ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; }
|
||||
dir="${2%/}" # <- *_ARCH_PATH
|
||||
[ -d "$dir/include/umpire" ] || exit 2
|
||||
|
||||
package="umpire"
|
||||
libStatic="libumpire.a"
|
||||
for lib in \
|
||||
"$dir/lib/$libStatic" \
|
||||
"$dir/lib$WM_COMPILER_LIB_ARCH/$libStatic" \
|
||||
;
|
||||
do
|
||||
if [ -r "$lib" ]
|
||||
then
|
||||
echo " $package include: $dir/include"
|
||||
echo " $package library: ${lib%/*}"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
exit 2
|
||||
fi
|
||||
#------------------------------------------------------------------------------
|
||||
if : # Run from third-party directory
|
||||
then
|
||||
cd "${0%/*}" || exit
|
||||
wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
|
||||
echo "Error (${0##*/}) : not located in \$WM_THIRD_PARTY_DIR"
|
||||
echo " Check your OpenFOAM environment and installation"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
|
||||
#------------------------------------------------------------------------------
|
||||
# Obtain version from OpenFOAM etc/config.sh file:
|
||||
_foamConfig umpire
|
||||
|
||||
PACKAGE="${umpire_version:-none}"
|
||||
|
||||
# Hint for cmake findMPI
|
||||
if [ -d "$MPI_ARCH_PATH" ]
|
||||
then
|
||||
export MPI_HOME="$MPI_ARCH_PATH"
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
printVersions() { listPackageVersions umpire; exit 0; }
|
||||
printHelp() {
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTION] [umpire-VERSION]
|
||||
options:
|
||||
-force Force compilation, even if include/library already exists
|
||||
-gcc Force use of gcc/g++
|
||||
-cmake PATH With cmake from the given path
|
||||
-mpi-home PATH With hint for MPI_HOME
|
||||
-DNAME=VALUE add cmake variable
|
||||
-list List available unpacked source versions
|
||||
-help Display usage help
|
||||
|
||||
* Build UMPIRE
|
||||
${PACKAGE:-[unspecified]}
|
||||
|
||||
USAGE
|
||||
showDownloadHint umpire
|
||||
exit 0 # Clean exit
|
||||
}
|
||||
#------------------------------------------------------------------------------
|
||||
exportCompiler minimal # Minimal compiler info for CMake/configure
|
||||
|
||||
unset optForce
|
||||
|
||||
# Parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
'') ;; # Ignore empty
|
||||
-h | -help*) printHelp;;
|
||||
-list) printVersions;;
|
||||
-gcc) useGcc ;;
|
||||
-force) optForce=true ;;
|
||||
|
||||
-cmake)
|
||||
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||
CMAKE_PATH="${2%%/}"
|
||||
shift
|
||||
;;
|
||||
-mpi-home) # mpi with hint
|
||||
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||
export MPI_HOME="${2%%/}"
|
||||
case "${MPI_HOME:-none}" in (false|none) unset MPI_HOME;; esac
|
||||
shift
|
||||
;;
|
||||
|
||||
umpire/* | sources/umpire* | umpire-[0-9]* | umpire-git*)
|
||||
PACKAGE="${1%%/}"
|
||||
;;
|
||||
-D[A-Z]*=* | [A-Z]*=*) # cmake variables
|
||||
addCMakeVariable "$1"
|
||||
;;
|
||||
*)
|
||||
die "unknown option/argument: '$1'"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$PACKAGE" ]
|
||||
then
|
||||
die "The UMPIRE package/version not specified"
|
||||
elif _foamIsNone "$PACKAGE" || _foamIsSystem "$PACKAGE"
|
||||
then
|
||||
echo "Using none/system (skip ThirdParty build of UMPIRE)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Known build issues for mingw (various things)
|
||||
case "$WM_COMPILER" in
|
||||
(Mingw*)
|
||||
if [ "$optForce" = true ]
|
||||
then
|
||||
echo "Warning: umpire - not tested with $WM_COMPILER"
|
||||
else
|
||||
echo "Skipping umpire - not tested with $WM_COMPILER"
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
#
|
||||
# Build UMPIRE
|
||||
# *PACKAGE : name-version of the package
|
||||
# *SOURCE : location of original sources
|
||||
# *PREFIX : installation directory
|
||||
|
||||
PKG_SOURCE="$(findSourceDir "$PACKAGE")"
|
||||
PACKAGE="$(basename "$PACKAGE")"
|
||||
PKG_PREFIX="$installBASE/$PACKAGE"
|
||||
export GIT_DIR="$PKG_SOURCE/.git"
|
||||
|
||||
echo
|
||||
echo ========================================
|
||||
echo "Build umpire library $PACKAGE"
|
||||
echo
|
||||
|
||||
if [ -z "$optForce" ] \
|
||||
&& [ -f "$PKG_PREFIX/include/umpire/Umpire.hpp" ] \
|
||||
&& {
|
||||
[ -r "$PKG_PREFIX/lib/libumpire.a" ] \
|
||||
|| [ -r "$PKG_PREFIX/lib$WM_COMPILER_LIB_ARCH/libumpire.a" ]
|
||||
}
|
||||
then
|
||||
echo " UMPIRE already built : $PKG_PREFIX"
|
||||
else
|
||||
# CMake options often lag the configure ones
|
||||
echo "Starting build: $PACKAGE (using cmake)"
|
||||
echo
|
||||
(
|
||||
PKG_BUILD="$buildBASE/$PACKAGE"
|
||||
cd "$PKG_SOURCE" || exit
|
||||
|
||||
applyPatch "$PACKAGE" "$PKG_SOURCE"
|
||||
|
||||
# Remove any existing build folder and recreate
|
||||
rm -rf "$PKG_PREFIX"
|
||||
rm -rf "$PKG_BUILD"
|
||||
mkdir -p "$PKG_BUILD"
|
||||
|
||||
# With MPI?
|
||||
# -DENABLE_FIND_MPI=ON
|
||||
|
||||
cmake=$(findCMake)
|
||||
|
||||
# By default installs into lib64/,
|
||||
# but libcamp installs into lib/ so use that here as well !
|
||||
#
|
||||
# Also note that the umpire currently (2025-04-03) doesn't properly
|
||||
# handle a relative directory for CMAKE_INSTALL_LIBDIR
|
||||
# (https://github.com/LLNL/Umpire/issues/952)
|
||||
|
||||
libdir="$PKG_PREFIX/lib"
|
||||
|
||||
cd "$PKG_BUILD" && set -x && \
|
||||
${cmake:?} \
|
||||
-DCMAKE_INSTALL_PREFIX="$PKG_PREFIX" \
|
||||
-DCMAKE_INSTALL_LIBDIR="$libdir" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCAMP_ENABLE_TESTS=OFF \
|
||||
-DENABLE_ASTYLE=OFF \
|
||||
-DENABLE_DOCS=OFF \
|
||||
-DENABLE_DOXYGEN=OFF \
|
||||
-DENABLE_EXAMPLES=OFF \
|
||||
-DENABLE_FORTRAN=OFF \
|
||||
-DENABLE_TESTS=OFF \
|
||||
${WM_QUIET:+-DCMAKE_RULE_MESSAGES=OFF} \
|
||||
"$PKG_SOURCE" \
|
||||
&& make -j $WM_NCOMPPROCS all \
|
||||
&& make install \
|
||||
&& echo "Built: $PACKAGE"
|
||||
) || {
|
||||
echo "Error building: $PACKAGE"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
3
makeVTK
3
makeVTK
@ -6,7 +6,7 @@
|
||||
# \\ / A nd | www.openfoam.com
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2023 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -37,6 +37,7 @@ then
|
||||
}
|
||||
fi
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ParaViewFunctions
|
||||
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/vtkFunctions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user