diff --git a/wmake/scripts/cmakeFunctions b/wmake/scripts/cmakeFunctions
index a1b9e5e5d1f42c0a92a5df8e8b01344111a78cbc..877d81f140de4004aa67c72ebda03740e11d55f6 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}"
+}
+
+
 #------------------------------------------------------------------------------