From 12f0268062282fa220b924d357686d947e1a42d5 Mon Sep 17 00:00:00 2001 From: Robert Burnett Date: Fri, 4 Oct 2024 20:24:01 -0500 Subject: [PATCH] fixed zig config.h bug --- src/build.zig | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/build.zig b/src/build.zig index b08b909de..7668d052b 100644 --- a/src/build.zig +++ b/src/build.zig @@ -47,7 +47,7 @@ fn setDesktopPlatform(raylib: *std.Build.Step.Compile, platform: PlatformBackend .glfw => raylib.defineCMacro("PLATFORM_DESKTOP_GLFW", null), .rgfw => raylib.defineCMacro("PLATFORM_DESKTOP_RGFW", null), .sdl => raylib.defineCMacro("PLATFORM_DESKTOP_SDL", null), - else => {} + else => {}, } } @@ -74,11 +74,12 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. while (lines.next()) |line| { if (!std.mem.containsAtLeast(u8, line, 1, "SUPPORT")) continue; if (std.mem.startsWith(u8, line, "//")) continue; + if (std.mem.startsWith(u8, line, "#if")) continue; var flag = std.mem.trimLeft(u8, line, " \t"); // Trim whitespace flag = flag["#define ".len - 1 ..]; // Remove #define flag = std.mem.trimLeft(u8, flag, " \t"); // Trim whitespace - flag = flag[0..std.mem.indexOf(u8, flag, " ").?]; // Flag is only one word, so capture till space + flag = flag[0 .. std.mem.indexOf(u8, flag, " ") orelse continue]; // Flag is only one word, so capture till space flag = try std.fmt.allocPrint(b.allocator, "-D{s}", .{flag}); // Prepend with -D // If user specifies the flag skip it @@ -301,6 +302,7 @@ pub const Options = struct { shared: bool = false, linux_display_backend: LinuxDisplayBackend = .Both, opengl_version: OpenglVersion = .auto, + /// config should be a list of cflags, eg, "-DSUPPORT_CUSTOM_FRAME_CONTROL" config: ?[]const u8 = null, raygui_dependency_name: []const u8 = "raygui", @@ -334,12 +336,7 @@ pub const LinuxDisplayBackend = enum { Both, }; -pub const PlatformBackend = enum { - glfw, - rgfw, - sdl, - drm -}; +pub const PlatformBackend = enum { glfw, rgfw, sdl, drm }; pub fn build(b: *std.Build) !void { // Standard target options allows the person running `zig build` to choose