mirror of
https://github.com/raysan5/raylib.git
synced 2025-10-05 17:36:26 +00:00

committed by
GitHub

parent
d7d04a07a2
commit
9534f48425
@@ -20,37 +20,55 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built
|
|||||||
raylib.addIncludePath(.{ .path = srcdir ++ "/external/glfw/include" });
|
raylib.addIncludePath(.{ .path = srcdir ++ "/external/glfw/include" });
|
||||||
}
|
}
|
||||||
|
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/rcore.c",
|
srcdir ++ "/rcore.c",
|
||||||
srcdir ++ "/utils.c",
|
srcdir ++ "/utils.c",
|
||||||
}, raylib_flags);
|
},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
|
|
||||||
if (options.raudio) {
|
if (options.raudio) {
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/raudio.c",
|
srcdir ++ "/raudio.c",
|
||||||
}, raylib_flags);
|
},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (options.rmodels) {
|
if (options.rmodels) {
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/rmodels.c",
|
srcdir ++ "/rmodels.c",
|
||||||
}, &[_][]const u8{
|
},
|
||||||
|
.flags = &[_][]const u8{
|
||||||
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/1891
|
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/1891
|
||||||
} ++ raylib_flags);
|
} ++ raylib_flags,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (options.rshapes) {
|
if (options.rshapes) {
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/rshapes.c",
|
srcdir ++ "/rshapes.c",
|
||||||
}, raylib_flags);
|
},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (options.rtext) {
|
if (options.rtext) {
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/rtext.c",
|
srcdir ++ "/rtext.c",
|
||||||
}, raylib_flags);
|
},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (options.rtextures) {
|
if (options.rtextures) {
|
||||||
raylib.addCSourceFiles(&.{
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{
|
||||||
srcdir ++ "/rtextures.c",
|
srcdir ++ "/rtextures.c",
|
||||||
}, raylib_flags);
|
},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var gen_step = b.addWriteFiles();
|
var gen_step = b.addWriteFiles();
|
||||||
@@ -65,7 +83,10 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built
|
|||||||
|
|
||||||
switch (target.getOsTag()) {
|
switch (target.getOsTag()) {
|
||||||
.windows => {
|
.windows => {
|
||||||
raylib.addCSourceFiles(&.{srcdir ++ "/rglfw.c"}, raylib_flags);
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{srcdir ++ "/rglfw.c"},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
raylib.linkSystemLibrary("winmm");
|
raylib.linkSystemLibrary("winmm");
|
||||||
raylib.linkSystemLibrary("gdi32");
|
raylib.linkSystemLibrary("gdi32");
|
||||||
raylib.linkSystemLibrary("opengl32");
|
raylib.linkSystemLibrary("opengl32");
|
||||||
@@ -75,7 +96,10 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built
|
|||||||
},
|
},
|
||||||
.linux => {
|
.linux => {
|
||||||
if (!options.platform_drm) {
|
if (!options.platform_drm) {
|
||||||
raylib.addCSourceFiles(&.{srcdir ++ "/rglfw.c"}, raylib_flags);
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{srcdir ++ "/rglfw.c"},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
raylib.linkSystemLibrary("GL");
|
raylib.linkSystemLibrary("GL");
|
||||||
raylib.linkSystemLibrary("rt");
|
raylib.linkSystemLibrary("rt");
|
||||||
raylib.linkSystemLibrary("dl");
|
raylib.linkSystemLibrary("dl");
|
||||||
@@ -103,7 +127,10 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
.freebsd, .openbsd, .netbsd, .dragonfly => {
|
.freebsd, .openbsd, .netbsd, .dragonfly => {
|
||||||
raylib.addCSourceFiles(&.{srcdir ++ "/rglfw.c"}, raylib_flags);
|
raylib.addCSourceFiles(.{
|
||||||
|
.files = &.{srcdir ++ "/rglfw.c"},
|
||||||
|
.flags = raylib_flags,
|
||||||
|
});
|
||||||
raylib.linkSystemLibrary("GL");
|
raylib.linkSystemLibrary("GL");
|
||||||
raylib.linkSystemLibrary("rt");
|
raylib.linkSystemLibrary("rt");
|
||||||
raylib.linkSystemLibrary("dl");
|
raylib.linkSystemLibrary("dl");
|
||||||
@@ -122,10 +149,10 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built
|
|||||||
const raylib_flags_extra_macos = &[_][]const u8{
|
const raylib_flags_extra_macos = &[_][]const u8{
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
};
|
};
|
||||||
raylib.addCSourceFiles(
|
raylib.addCSourceFiles(.{
|
||||||
&.{srcdir ++ "/rglfw.c"},
|
.files = &.{srcdir ++ "/rglfw.c"},
|
||||||
raylib_flags ++ raylib_flags_extra_macos,
|
.flags = raylib_flags ++ raylib_flags_extra_macos,
|
||||||
);
|
});
|
||||||
raylib.linkFramework("Foundation");
|
raylib.linkFramework("Foundation");
|
||||||
raylib.linkFramework("CoreServices");
|
raylib.linkFramework("CoreServices");
|
||||||
raylib.linkFramework("CoreGraphics");
|
raylib.linkFramework("CoreGraphics");
|
||||||
|
Reference in New Issue
Block a user