Skip to content

Commit 6a430eb

Browse files
authored
[examples] Update build.zig to support wasm examples (#5811)
* Include resource preloads when building wasm examples with Zig. List of resources derived from examples/Makefile.Web * Move resource list to zon file to reduce build.zig bloat
1 parent 3c82b48 commit 6a430eb

2 files changed

Lines changed: 1429 additions & 0 deletions

File tree

build.zig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,10 +706,16 @@ fn addExamples(
706706
const emcc_flags = emsdk.emccDefaultFlags(b.allocator, .{ .optimize = optimize });
707707
const emcc_settings = emsdk.emccDefaultSettings(b.allocator, .{ .optimize = optimize });
708708

709+
const EmccExamplesPreloadMap = std.static_string_map.StaticStringMap([]const emsdk.zemscripten.EmccFilePath);
710+
const EmccExamplesPreloadKV = struct { []const u8, []const emsdk.zemscripten.EmccFilePath };
711+
const emcc_examples_preloads: []const EmccExamplesPreloadKV = @import("examples/example_resources.zon");
712+
const emcc_examples_preloads_map = EmccExamplesPreloadMap.initComptime(emcc_examples_preloads);
713+
709714
const emcc_step = emsdk.emccStep(b, raylib, wasm, .{
710715
.optimize = optimize,
711716
.flags = emcc_flags,
712717
.settings = emcc_settings,
718+
.preload_paths = emcc_examples_preloads_map.get(filename) orelse &.{},
713719
.shell_file_path = b.path("src/shell.html"),
714720
.install_dir = install_dir,
715721
});
@@ -788,3 +794,4 @@ fn waylandGenerate(
788794
}
789795
}
790796
}
797+

0 commit comments

Comments
 (0)