diff --git a/build.zig b/build.zig index 5958484..fc24c31 100644 --- a/build.zig +++ b/build.zig @@ -22,6 +22,7 @@ pub fn build(b: *std.Build) void { .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, + .win32_manifest = b.path("src/rb.manifest"), }); exe.root_module.addImport("clap", clap.module("clap")); diff --git a/scripts/release.zig b/scripts/release.zig index 221b1ac..600fafc 100644 --- a/scripts/release.zig +++ b/scripts/release.zig @@ -23,6 +23,9 @@ pub fn main() !void { // Format version.zon try formatVersionZon(allocator); + // Write rb.manifest + try writeRbManifest(allocator, version); + // Build the project try buildProject(allocator); @@ -76,6 +79,21 @@ fn formatVersionZon(allocator: std.mem.Allocator) !void { _ = try child.spawnAndWait(); } +fn writeRbManifest(allocator: std.mem.Allocator, version: []const u8) !void { + const manifest_content = try std.fmt.allocPrint(allocator, + \\ + \\ + \\ + \\ + \\ + , .{version}); + defer allocator.free(manifest_content); + + const file = try fs.cwd().createFile("src/rb.manifest", .{}); + defer file.close(); + try file.writeAll(manifest_content); +} + fn buildProject(allocator: std.mem.Allocator) !void { const argv = [_][]const u8{ "zig", diff --git a/src/rb.manifest b/src/rb.manifest new file mode 100644 index 0000000..034425b --- /dev/null +++ b/src/rb.manifest @@ -0,0 +1,4 @@ + + + +