|
|
@ -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", |
|
|
@ -338,7 +340,7 @@ pub const PlatformBackend = enum { |
|
|
|
glfw, |
|
|
|
rgfw, |
|
|
|
sdl, |
|
|
|
drm |
|
|
|
drm, |
|
|
|
}; |
|
|
|
|
|
|
|
pub fn build(b: *std.Build) !void { |
|
|
|