From 5e91444e3e6a96813a491070de88358403ab5a75 Mon Sep 17 00:00:00 2001 From: InKryption <59504965+InKryption@users.noreply.github.com> Date: Thu, 27 Jun 2024 20:25:15 +0000 Subject: [PATCH] [build.zig] pass the real build.zig file (#4113) `@This()` was naively passed to `dependencyFromBuildZig` while inside a file that is not actually the build file, causing a panic when actually used. Passing `@import("../build.zig")` fixes this. --- src/build.zig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/build.zig b/src/build.zig index e3bb04a00815..0b85e5f879e6 100644 --- a/src/build.zig +++ b/src/build.zig @@ -9,9 +9,14 @@ comptime { // get the flags a second time when adding raygui var raylib_flags_arr: std.ArrayListUnmanaged([]const u8) = .{}; +/// we're not inside the actual build script recognized by the +/// zig build system; use this type where one would otherwise +/// use `@This()` when inside the actual entrypoint file. +const BuildScript = @import("../build.zig"); + // This has been tested with zig version 0.12.0 pub fn addRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { - const raylib_dep = b.dependencyFromBuildZig(@This(), .{ + const raylib_dep = b.dependencyFromBuildZig(BuildScript, .{ .target = target, .optimize = optimize, .raudio = options.raudio,