Indicates that the build.zig logic depends on a particular file's size, inode, mtime, and contents.
If the file is created, deleted, has its contents changed, or the inode changes, or the mtime changes, the configure phase will be repeated.
This is an alternative to Graph.poisonCache that avoids making every invocation
of zig build into a cache miss.
Only a subset of LazyPath are supported:
If the file would be inside one of the search prefixes, then the dependency
cannot be tracked; Graph.poisonCache must be used instead.
pub fn dependOnFileMetadata(b: *Build, lazy_path: LazyPath) void
pub fn dependOnFileMetadata(b: *Build, lazy_path: LazyPath) void {
validateConfigureDependency(lazy_path);
const graph = b.graph;
graph.configure_dependencies.append(graph.arena, .{
.lazy_path = lazy_path.dupe(graph),
.mode = .metadata,
}) catch @panic("OOM");
}