From 5304bee276124b2816f07eaa7909202c9c92cb6c Mon Sep 17 00:00:00 2001 From: InKryption <59504965+InKryption@users.noreply.github.com> Date: Mon, 17 Oct 2022 16:49:28 +0200 Subject: [PATCH] build.zig: let user decide how to set build mode This should delegate the responsibility of calling `standardReleaseOptions` and setting the build mode of the `*LibExeObjStep` step to the caller, especially since this might not be the process by which one wants to determine the build mode. Also changes hides `getSrcDir` to enforce usage of `srcdir`, and asserts that the file is in fact inside a directory. --- src/build.zig | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/build.zig b/src/build.zig index 8194e1e3c..23f48110a 100644 --- a/src/build.zig +++ b/src/build.zig @@ -1,10 +1,6 @@ const std = @import("std"); pub fn addRaylib(b: *std.build.Builder, target: std.zig.CrossTarget) *std.build.LibExeObjStep { - // Standard release options allow the person running `zig build` to select - // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. - const mode = b.standardReleaseOptions(); - const raylib_flags = &[_][]const u8{ "-std=gnu99", "-DPLATFORM_DESKTOP", @@ -15,7 +11,6 @@ pub fn addRaylib(b: *std.build.Builder, target: std.zig.CrossTarget) *std.build. const raylib = b.addStaticLibrary("raylib", srcdir ++ "/raylib.h"); raylib.setTarget(target); - raylib.setBuildMode(mode); raylib.linkLibC(); raylib.addIncludePath(srcdir ++ "/external/glfw/include"); @@ -90,8 +85,8 @@ pub fn build(b: *std.build.Builder) void { lib.install(); } -const srcdir = getSrcDir(); - -fn getSrcDir() []const u8 { - return std.fs.path.dirname(@src().file) orelse "."; -} +const srcdir = struct{ + fn getSrcDir() []const u8 { + return std.fs.path.dirname(@src().file).?; + } +}.getSrcDir();