Browse Source

[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.
pull/4117/head
InKryption 7 months ago
committed by GitHub
parent
commit
5e91444e3e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      src/build.zig

+ 6
- 1
src/build.zig View File

@ -9,9 +9,14 @@ comptime {
// get the flags a second time when adding raygui // get the flags a second time when adding raygui
var raylib_flags_arr: std.ArrayListUnmanaged([]const u8) = .{}; 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 // 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 { 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, .target = target,
.optimize = optimize, .optimize = optimize,
.raudio = options.raudio, .raudio = options.raudio,

Loading…
Cancel
Save