From 01fc6a05ef4b4de3d351ebbc64f35eef7f3afa7a Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Tue, 5 Sep 2023 23:33:38 -0700 Subject: [PATCH] Add a standalone test for Windows resource file compilation --- test/standalone.zig | 4 ++ test/standalone/windows_resources/build.zig | 33 +++++++++++++++ test/standalone/windows_resources/main.zig | 5 +++ .../windows_resources/res/hello.bin | 1 + .../windows_resources/res/sub/sub.rc | 1 + test/standalone/windows_resources/res/zig.ico | Bin 0 -> 179271 bytes test/standalone/windows_resources/res/zig.rc | 40 ++++++++++++++++++ 7 files changed, 84 insertions(+) create mode 100644 test/standalone/windows_resources/build.zig create mode 100644 test/standalone/windows_resources/main.zig create mode 100644 test/standalone/windows_resources/res/hello.bin create mode 100644 test/standalone/windows_resources/res/sub/sub.rc create mode 100644 test/standalone/windows_resources/res/zig.ico create mode 100644 test/standalone/windows_resources/res/zig.rc diff --git a/test/standalone.zig b/test/standalone.zig index 22b9dfba49..87022f8bfc 100644 --- a/test/standalone.zig +++ b/test/standalone.zig @@ -194,6 +194,10 @@ pub const build_cases = [_]BuildCase{ .build_root = "test/standalone/load_dynamic_library", .import = @import("standalone/load_dynamic_library/build.zig"), }, + .{ + .build_root = "test/standalone/windows_resources", + .import = @import("standalone/windows_resources/build.zig"), + }, .{ .build_root = "test/standalone/windows_spawn", .import = @import("standalone/windows_spawn/build.zig"), diff --git a/test/standalone/windows_resources/build.zig b/test/standalone/windows_resources/build.zig new file mode 100644 index 0000000000..4c2854ffc9 --- /dev/null +++ b/test/standalone/windows_resources/build.zig @@ -0,0 +1,33 @@ +const std = @import("std"); + +pub fn build(b: *std.Build) void { + const test_step = b.step("test", "Test it"); + b.default_step = test_step; + + const native_target: std.zig.CrossTarget = .{}; + const cross_target = .{ + .cpu_arch = .x86_64, + .os_tag = .windows, + .abi = .gnu, + }; + + add(b, native_target, test_step); + add(b, cross_target, test_step); +} + +fn add(b: *std.Build, target: std.zig.CrossTarget, test_step: *std.Build.Step) void { + const exe = b.addExecutable(.{ + .name = "zig_resource_test", + .root_source_file = .{ .path = "main.zig" }, + .target = target, + .optimize = .Debug, + }); + exe.addWin32ResourceFile(.{ + .file = .{ .path = "res/zig.rc" }, + .flags = &.{"/c65001"}, // UTF-8 code page + }); + + _ = exe.getEmittedBin(); + + test_step.dependOn(&exe.step); +} diff --git a/test/standalone/windows_resources/main.zig b/test/standalone/windows_resources/main.zig new file mode 100644 index 0000000000..f92e18124b --- /dev/null +++ b/test/standalone/windows_resources/main.zig @@ -0,0 +1,5 @@ +const std = @import("std"); + +pub fn main() !void { + std.debug.print("All your {s} are belong to us.\n", .{"codebase"}); +} diff --git a/test/standalone/windows_resources/res/hello.bin b/test/standalone/windows_resources/res/hello.bin new file mode 100644 index 0000000000..dda6eb4b7b --- /dev/null +++ b/test/standalone/windows_resources/res/hello.bin @@ -0,0 +1 @@ +abcdefg \ No newline at end of file diff --git a/test/standalone/windows_resources/res/sub/sub.rc b/test/standalone/windows_resources/res/sub/sub.rc new file mode 100644 index 0000000000..b15ce30604 --- /dev/null +++ b/test/standalone/windows_resources/res/sub/sub.rc @@ -0,0 +1 @@ +2 RCDATA hello.bin diff --git a/test/standalone/windows_resources/res/zig.ico b/test/standalone/windows_resources/res/zig.ico new file mode 100644 index 0000000000000000000000000000000000000000..64610cc33226e0715e4f34ade3509e4083d443ba GIT binary patch literal 179271 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%0DLE!_!pf$9h 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 literal 0 HcmV?d00001 diff --git a/test/standalone/windows_resources/res/zig.rc b/test/standalone/windows_resources/res/zig.rc new file mode 100644 index 0000000000..88503a0f6a --- /dev/null +++ b/test/standalone/windows_resources/res/zig.rc @@ -0,0 +1,40 @@ +#define ICO_ID 1 + +// Nothing from windows.h is used in this .rc file, +// but it's common to include it within a .rc file +// so this makes sure that it can be found on +// all platforms. +#include "windows.h" + +ICO_ID ICON "zig.ico" + +1 VERSIONINFO + FILEVERSION 1L,0,0,2 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x1L + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "Zig" + VALUE "FileDescription", "My cool zig program" + VALUE "FileVersion", "1.0.0.1" + VALUE "InternalName", "zig-ico.exe" + VALUE "LegalCopyright", "(c) no one" + VALUE "OriginalFilename", "zig-ico.exe" + VALUE "ProductName", "Zig but with an icon" + VALUE "ProductVersion", "1.0.0.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#include "sub/sub.rc"