ENH: separate basic CMakeFunctions from ParaViewFunctions

- allows more reuse of functionality
This commit is contained in:
Mark Olesen
2023-11-07 03:10:00 +01:00
parent 678ec1c8d0
commit 1fdacf14dd
7 changed files with 77 additions and 36 deletions

View File

@ -7,7 +7,7 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2020 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # 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" echo " $MPI_ARCH_PATH"
case "$WM_MPLIB" in case "$WM_MPLIB" in
(OPENMPI | MPICH) (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 esac

57
etc/tools/CMakeFunctions Normal file
View 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
}
#------------------------------------------------------------------------------

View File

@ -6,7 +6,7 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2021 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -16,6 +16,7 @@
# #
# Description # Description
# ParaView make/install helper functions # ParaView make/install helper functions
# To be loaded *after* etc/tools/CMakeFunctions
# #
# Note # Note
# Obtaining paths via 'python-config' may not always resolve properly: # Obtaining paths via 'python-config' may not always resolve properly:
@ -132,23 +133,8 @@ setParaViewVersion()
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# # addCMakeVariable : defined in etc/tools/CMakeFunctions
# Set CMake cache variables. # addVerbosity : defined in etc/tools/CMakeFunctions
# 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
}
# #
# General settings (version-dependent) # 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 # MPI support for PARAVIEW
# #

View File

@ -5,7 +5,7 @@
# \\ / A nd | www.openfoam.com # \\ / A nd | www.openfoam.com
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2016-2021 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -15,7 +15,7 @@
# #
# Description # Description
# VTK (library) make/install helper functions. # VTK (library) make/install helper functions.
# To be loaded *after* etc/tools/ParaViewFunctions # To be loaded *after* etc/tools/CMakeFunctions, ParaViewFunctions
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -5,7 +5,7 @@
# \\ / A nd | www.openfoam.com # \\ / A nd | www.openfoam.com
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2018-2021 OpenCFD Ltd. # Copyright (C) 2018-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -59,6 +59,7 @@ then
} }
fi fi
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions . "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/CMakeFunctions
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Obtain version from OpenFOAM etc/config.sh file: # Obtain version from OpenFOAM etc/config.sh file:
_foamConfig adios2 _foamConfig adios2
@ -82,6 +83,7 @@ options:
-gcc Force use of gcc/g++ -gcc Force use of gcc/g++
-cmake PATH With cmake from the given path -cmake PATH With cmake from the given path
-mpi-home PATH With hint for MPI_HOME -mpi-home PATH With hint for MPI_HOME
-DNAME=VALUE add cmake variable
-list List available unpacked source versions -list List available unpacked source versions
-help Display usage help -help Display usage help
@ -124,6 +126,9 @@ do
adios2-[0-9]* | adios2-git* | adios-[0-9]* | adios-git*) adios2-[0-9]* | adios2-git* | adios-[0-9]* | adios-git*)
PACKAGE="${1%%/}" PACKAGE="${1%%/}"
;; ;;
-D[A-Z]*=* | [A-Z]*=*) # cmake variables
addCMakeVariable "$1"
;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;

View File

@ -36,6 +36,7 @@ then
} }
fi fi
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions . "${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/ParaViewFunctions
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -6,7 +6,7 @@
# \\ / A nd | www.openfoam.com # \\ / A nd | www.openfoam.com
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2016-2021 OpenCFD Ltd. # Copyright (C) 2016-2023 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@ -37,6 +37,7 @@ then
} }
fi fi
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/ThirdPartyFunctions . "${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/ParaViewFunctions
. "${WM_THIRD_PARTY_DIR:?}"/etc/tools/vtkFunctions . "${WM_THIRD_PARTY_DIR:?}"/etc/tools/vtkFunctions
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------