mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: add versioning for VTK library to runTimePostProcessing (issue #370)
Eg,
librunTimePostProcessing.so
librunTimePostProcessing.so.7 -> librunTimePostProcessing.so.7.1.0
librunTimePostProcessing.so.7.1.0
- centralize handling of paraview/vtk versioning into wmake/cmakeFunctions
This commit is contained in:
@ -7,84 +7,8 @@ export WM_CONTINUE_ON_ERROR=true
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
# Source the wmake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/wmakeFunctions
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# There are several prerequisites for building plugins
|
||||
#
|
||||
#set -x
|
||||
canBuildPlugin()
|
||||
{
|
||||
[ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ] || {
|
||||
echo "==> cannot build ParaView plugins without paraview directory"
|
||||
echo " ParaView_DIR=$ParaView_DIR"
|
||||
return 1
|
||||
}
|
||||
|
||||
[ -n "$PV_PLUGIN_PATH" ] || {
|
||||
echo "==> ${PWD##*/} : invalid PV_PLUGIN_PATH for building ParaView plugins"
|
||||
echo " PV_PLUGIN_PATH=${PV_PLUGIN_PATH:-unset}"
|
||||
return 1
|
||||
}
|
||||
|
||||
type cmake > /dev/null 2>&1 || {
|
||||
echo "==> cannot build ParaView plugins without cmake"
|
||||
return 1
|
||||
}
|
||||
|
||||
return 0 # success
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Check sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
versionOk()
|
||||
{
|
||||
findObjectDir "$1" # Where generated files are stored
|
||||
local sentinel="$objectsDir/ThirdParty"
|
||||
|
||||
echo $sentinel
|
||||
|
||||
local prev
|
||||
if read -r prev 2>/dev/null < $sentinel
|
||||
then
|
||||
case "$prev" in
|
||||
("ParaView_DIR=$ParaView_DIR")
|
||||
return 0
|
||||
;;
|
||||
(*)
|
||||
echo "ParaView_DIR changed between builds" 1>&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
elif [ -f "$objectsDir/CMakeCache.txt" ]
|
||||
then
|
||||
echo "previous build was incomplete" 1>&2
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Build library - use sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
wmakeLibPv()
|
||||
{
|
||||
for libName
|
||||
do
|
||||
sentinel=$(versionOk $libName) || wclean $libName # version changed
|
||||
wmake $targetType $libName && {
|
||||
echo "ParaView_DIR=$ParaView_DIR" > $sentinel
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
# Source CMake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/cmakeFunctions
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -4,94 +4,8 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
# Source the wmake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/wmakeFunctions
|
||||
|
||||
# Ensure CMake gets the correct C/C++ compilers
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Check sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
versionOk()
|
||||
{
|
||||
findObjectDir "$1" # Where generated files are stored
|
||||
local sentinel="$objectsDir/ThirdParty"
|
||||
|
||||
echo $sentinel
|
||||
|
||||
local prev
|
||||
if read -r prev 2>/dev/null < $sentinel
|
||||
then
|
||||
case "$prev" in
|
||||
("ParaView_DIR=$ParaView_DIR")
|
||||
return 0
|
||||
;;
|
||||
(*)
|
||||
echo "ParaView_DIR changed between builds" 1>&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
elif [ -f "$objectsDir/CMakeCache.txt" ]
|
||||
then
|
||||
echo "previous build was incomplete" 1>&2
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# CMake into objectsDir,
|
||||
# with an additional attempt if (possibly incorrect) CMakeCache.txt existed
|
||||
doCmake()
|
||||
{
|
||||
local sourceDir="$1"
|
||||
findObjectDir $sourceDir # Where are generated files stored?
|
||||
|
||||
# version changed
|
||||
sentinel=$(versionOk $sourceDir) || rm -rf "$objectsDir" > /dev/null 2>&1
|
||||
|
||||
test -f "$objectsDir/CMakeCache.txt"
|
||||
retry=$? # CMakeCache.txt exists, but sources may have moved
|
||||
|
||||
mkdir -p $objectsDir && \
|
||||
(
|
||||
cd $objectsDir || exit 1
|
||||
|
||||
cmake $sourceDir || {
|
||||
if [ $retry -eq 0 ]
|
||||
then
|
||||
echo "Removing CMakeCache.txt and attempt again"
|
||||
rm -f CMakeCache.txt
|
||||
cmake $sourceDir
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
} && make && {
|
||||
echo "ParaView_DIR=$ParaView_DIR" > $sentinel
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Build library - use sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
wmakeLibPv()
|
||||
{
|
||||
for libName
|
||||
do
|
||||
sentinel=$(versionOk $libName) || wclean $libName # version changed
|
||||
wmake $targetType $libName && {
|
||||
echo "ParaView_DIR=$ParaView_DIR" > $sentinel
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
# Source CMake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/cmakeFunctions
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
@ -101,7 +15,7 @@ then
|
||||
|
||||
if [ "$targetType" != objects ]
|
||||
then
|
||||
doCmake $PWD/PVFoamReader || {
|
||||
cmakePv $PWD/PVFoamReader || {
|
||||
echo
|
||||
echo " WARNING: incomplete build of ParaView OpenFOAM plugin"
|
||||
echo
|
||||
|
||||
@ -4,94 +4,8 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
# Source the wmake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/wmakeFunctions
|
||||
|
||||
# Ensure CMake gets the correct C/C++ compilers
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Check sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
versionOk()
|
||||
{
|
||||
findObjectDir "$1" # Where generated files are stored
|
||||
local sentinel="$objectsDir/ThirdParty"
|
||||
|
||||
echo $sentinel
|
||||
|
||||
local prev
|
||||
if read -r prev 2>/dev/null < $sentinel
|
||||
then
|
||||
case "$prev" in
|
||||
("ParaView_DIR=$ParaView_DIR")
|
||||
return 0
|
||||
;;
|
||||
(*)
|
||||
echo "ParaView_DIR changed between builds" 1>&2
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
elif [ -f "$objectsDir/CMakeCache.txt" ]
|
||||
then
|
||||
echo "previous build was incomplete" 1>&2
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# CMake into objectsDir,
|
||||
# with an additional attempt if (possibly incorrect) CMakeCache.txt existed
|
||||
doCmake()
|
||||
{
|
||||
local sourceDir="$1"
|
||||
findObjectDir $sourceDir # Where are generated files stored?
|
||||
|
||||
# version changed
|
||||
sentinel=$(versionOk $sourceDir) || rm -rf "$objectsDir" > /dev/null 2>&1
|
||||
|
||||
test -f "$objectsDir/CMakeCache.txt"
|
||||
retry=$? # CMakeCache.txt exists, but sources may have moved
|
||||
|
||||
mkdir -p $objectsDir && \
|
||||
(
|
||||
cd $objectsDir || exit 1
|
||||
|
||||
cmake $sourceDir || {
|
||||
if [ $retry -eq 0 ]
|
||||
then
|
||||
echo "Removing CMakeCache.txt and attempt again"
|
||||
rm -f CMakeCache.txt
|
||||
cmake $sourceDir
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
} && make && {
|
||||
echo "ParaView_DIR=$ParaView_DIR" > $sentinel
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Build library - use sentinel file(s) to handle paraview version changes
|
||||
#
|
||||
wmakeLibPv()
|
||||
{
|
||||
for libName
|
||||
do
|
||||
sentinel=$(versionOk $libName) || wclean $libName # version changed
|
||||
wmake $targetType $libName && {
|
||||
echo "ParaView_DIR=$ParaView_DIR" > $sentinel
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
# Source CMake functions
|
||||
. $WM_PROJECT_DIR/wmake/scripts/cmakeFunctions
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
@ -101,7 +15,7 @@ then
|
||||
|
||||
if [ "$targetType" != objects ]
|
||||
then
|
||||
doCmake $PWD/PVblockMeshReader || {
|
||||
cmakePv $PWD/PVblockMeshReader || {
|
||||
echo
|
||||
echo " WARNING: incomplete build of ParaView BlockMesh plugin"
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user