From dd2c7c489472e8d24fd45107535fddca4bd252c5 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Sat, 15 Dec 2018 15:49:48 +0100 Subject: [PATCH] ENH: add wmakeVersioned with tracking of ThirdParty dependencies - primarily for handling cmake replacement libraries --- wmake/scripts/cmakeFunctions | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/wmake/scripts/cmakeFunctions b/wmake/scripts/cmakeFunctions index a1b9e5e5d1f..877d81f140d 100644 --- a/wmake/scripts/cmakeFunctions +++ b/wmake/scripts/cmakeFunctions @@ -124,4 +124,31 @@ cmakeVersionedInstall() } +# wmake with tracking of external dependency as per cmakeVersioned +# - use sentinel file(s) to handle paraview/vtk version changes +# +# 1 - depend +# 2 - sourceDir +# 3... wmake arguments +# +wmakeVersioned() +{ + local depend="$1" + local sourceDir="$2" + shift 2 + local objectsDir sentinel + + # Where generated files are stored + objectsDir=$(findObjectDir "$sourceDir") || exit 1 # Fatal + + # Version changed + sentinel=$(sameDependency "$depend" "$sourceDir") || \ + rm -rf "$objectsDir" > /dev/null 2>&1 + + mkdir -p "$objectsDir" \ + && wmake "$@" \ + && echo "$depend" >| "${sentinel:-/dev/null}" +} + + #------------------------------------------------------------------------------ -- GitLab