From 726aa8cdb9c5b1dd7eeb65cf85b6fda34c92ce35 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Mon, 20 Jun 2016 11:18:24 +0200 Subject: [PATCH] ENH: out of source build for paraview plugins - more consistent with the rest of the OpenFOAM source tree - improve wmake / wclean behaviour --- .../graphics/PVReaders/Allwclean | 3 +++ .../graphics/PVReaders/Allwmake | 4 +++ .../graphics/PVReaders/PVFoamReader/Allwclean | 10 ++++++- .../graphics/PVReaders/PVFoamReader/Allwmake | 26 ++++++++++++++----- .../PVReaders/PVblockMeshReader/Allwclean | 12 +++++++-- .../PVReaders/PVblockMeshReader/Allwmake | 26 ++++++++++++++----- .../graphics/runTimePostProcessing/Allwclean | 10 +++---- .../graphics/runTimePostProcessing/Allwmake | 4 +-- 8 files changed, 71 insertions(+), 24 deletions(-) diff --git a/applications/utilities/postProcessing/graphics/PVReaders/Allwclean b/applications/utilities/postProcessing/graphics/PVReaders/Allwclean index 0e2ae161c3..c8d0f03e86 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/Allwclean +++ b/applications/utilities/postProcessing/graphics/PVReaders/Allwclean @@ -6,4 +6,7 @@ wclean libso vtkPVReaders PVblockMeshReader/Allwclean PVFoamReader/Allwclean +# remove dummy directory (see Allwmake) +rmdir Make 2>/dev/null + #------------------------------------------------------------------------------ diff --git a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake index 0680975560..76a3697c6c 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +++ b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake @@ -53,6 +53,10 @@ case "$ParaView_VERSION" in wmake $targetType vtkPVReaders PVblockMeshReader/Allwmake $* PVFoamReader/Allwmake $* + + # dummy directory to trigger proper 'wclean all' behaviour + # - the Allwclean will otherwise not be used + mkdir -p Make ) fi ;; diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwclean b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwclean index 59f8be2f21..914ce6dd4e 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwclean +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwclean @@ -1,11 +1,19 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory + +# Source the wmake functions +. $WM_DIR/scripts/wmakeFunctions + set -x # deal with client/server vs combined plugins rm -f $FOAM_LIBBIN/libPVFoamReader* 2>/dev/null -rm -rf PVFoamReader/Make +rm -rf PVFoamReader/Make # safety: old build location wclean libso vtkPVFoam +# Where are the generated files stored? +findObjectDir $PWD # remove entire top-level +rm -rf "$objectsDir" > /dev/null 2>&1 + #------------------------------------------------------------------------------ diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwmake b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwmake index 70b8845d4b..313fdd2410 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwmake +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/Allwmake @@ -4,18 +4,30 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for library compilation targetType=libso . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -set -x +# Source the wmake functions +. $WM_DIR/scripts/wmakeFunctions + +# C++ compiler for CMake +[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + +set -x if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ] then wmake $targetType vtkPVFoam + sourceDir=$PWD/PVFoamReader + + # Where are any generated files stored? + findObjectDir $sourceDir ( - cd PVFoamReader - mkdir -p Make/$WM_OPTIONS > /dev/null 2>&1 - cd Make/$WM_OPTIONS - cmake ../.. - make - ) + mkdir -p $objectsDir \ + && cd $objectsDir \ + && cmake $sourceDir \ + && make + ) || { + echo + echo "WARNING: incomplete build of ParaView OpenFOAM plugin" + } fi #------------------------------------------------------------------------------ diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwclean b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwclean index 5401dfdd07..afce206c8b 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwclean +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwclean @@ -1,11 +1,19 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory + +# Source the wmake functions +. $WM_DIR/scripts/wmakeFunctions + set -x # deal with client/server vs combined plugins -rm -f $FOAM_LIBBIN/libPVblockMeshReader* 2>/dev/null +rm -f $FOAM_LIBBIN/libPVblockMeshReader* 2>/dev/null -rm -rf PVblockMeshReader/Make +rm -rf PVblockMeshReader/Make # safety: old build location wclean libso vtkPVblockMesh +# Where are the generated files stored? +findObjectDir $PWD # remove entire top-level +rm -rf "$objectsDir" > /dev/null 2>&1 + #------------------------------------------------------------------------------ diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwmake b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwmake index 54b75743f9..76297f13a2 100755 --- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwmake +++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/Allwmake @@ -4,18 +4,30 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for library compilation targetType=libso . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -set -x +# Source the wmake functions +. $WM_DIR/scripts/wmakeFunctions + +# C++ compiler for CMake +[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + +set -x if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ] then wmake $targetType vtkPVblockMesh + sourceDir=$PWD/PVblockMeshReader + + # Where are any generated files stored? + findObjectDir $sourceDir ( - cd PVblockMeshReader - mkdir -p Make/$WM_OPTIONS > /dev/null 2>&1 - cd Make/$WM_OPTIONS - cmake ../.. - make - ) + mkdir -p $objectsDir \ + && cd $objectsDir \ + && cmake $sourceDir \ + && make + ) || { + echo + echo "WARNING: incomplete build of ParaView BlockMesh plugin" + } fi #------------------------------------------------------------------------------ diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwclean b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwclean index 4cee715d32..1d94a698c5 100755 --- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwclean +++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwclean @@ -4,8 +4,8 @@ cd ${0%/*} || exit 1 # Run from this directory # Source the wmake functions . $WM_DIR/scripts/wmakeFunctions -( - # Where are the generated files stored? - findObjectDir dummy.C - rm -rf "$objectsDir" > /dev/null 2>&1 -) +# Where are the generated files stored? +findObjectDir $PWD +rm -rf "$objectsDir" > /dev/null 2>&1 + +#------------------------------------------------------------------------------ diff --git a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwmake b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwmake index ac92255621..727f9a20aa 100755 --- a/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwmake +++ b/src/postProcessing/functionObjects/graphics/runTimePostProcessing/Allwmake @@ -4,11 +4,11 @@ cd ${0%/*} || exit 1 # Run from this directory # Source the wmake functions . $WM_DIR/scripts/wmakeFunctions -# Store current directory +# The source directory sourceDir=$PWD # Where are any generated files stored? -findObjectDir dummy.C +findObjectDir $sourceDir depDir="$objectsDir" echo