From 7d1114e17150e4f5ad74f0f3cd0a7175c7c97c67 Mon Sep 17 00:00:00 2001 From: cers <251662022@qq.com> Date: Mon, 8 Jun 2026 19:31:35 +0800 Subject: [PATCH] Modify Zig version check and directory opening logic Updated version check for Zig to 17 and adjusted directory handling accordingly. --- build.zig | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index 412329f3b..57b66a2dd 100644 --- a/build.zig +++ b/build.zig @@ -173,7 +173,24 @@ fn build_examples(b: *Build, webui: *Compile) !void { // Iterate examples/C. Zig 0.16 removed std.fs.cwd() and reworked Dir/Iterator // to require an Io instance, so split the open+iterate path by version while // sharing the per-example wiring below. - if (comptime builtin.zig_version.minor >= 16) { + if (comptime builtin.zig_version.minor >= 17) { + const io = b.graph.io; + var examples_dir = b.root.root_dir.handle.openDir( + io, + "examples/C", + .{ .iterate = true }, + ) catch |e| switch (e) { + error.FileNotFound => return, + else => return e, + }; + defer examples_dir.close(io); + + var paths = examples_dir.iterate(); + while (try paths.next(io)) |val| { + if (val.kind != .directory) continue; + try add_example(b, webui, build_examples_step, val.name); + } + } else if (comptime builtin.zig_version.minor >= 16) { const io = b.graph.io; var examples_dir = b.build_root.handle.openDir( io,