浏览代码

fix build.zig (#3433)

for zig master (2023-10-17)
pull/3438/head
Michael Scherbakow 1年前
committed by GitHub
父节点
当前提交
9534f48425
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 1 个文件被更改,包括 55 次插入28 次删除
  1. +55
    -28
      src/build.zig

+ 55
- 28
src/build.zig 查看文件

@ -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(&.{
srcdir ++ "/rcore.c",
srcdir ++ "/utils.c",
}, raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/rcore.c",
srcdir ++ "/utils.c",
},
.flags = raylib_flags,
});
if (options.raudio) { if (options.raudio) {
raylib.addCSourceFiles(&.{
srcdir ++ "/raudio.c",
}, raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/raudio.c",
},
.flags = raylib_flags,
});
} }
if (options.rmodels) { if (options.rmodels) {
raylib.addCSourceFiles(&.{
srcdir ++ "/rmodels.c",
}, &[_][]const u8{
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/1891
} ++ raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/rmodels.c",
},
.flags = &[_][]const u8{
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/1891
} ++ raylib_flags,
});
} }
if (options.rshapes) { if (options.rshapes) {
raylib.addCSourceFiles(&.{
srcdir ++ "/rshapes.c",
}, raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/rshapes.c",
},
.flags = raylib_flags,
});
} }
if (options.rtext) { if (options.rtext) {
raylib.addCSourceFiles(&.{
srcdir ++ "/rtext.c",
}, raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/rtext.c",
},
.flags = raylib_flags,
});
} }
if (options.rtextures) { if (options.rtextures) {
raylib.addCSourceFiles(&.{
srcdir ++ "/rtextures.c",
}, raylib_flags);
raylib.addCSourceFiles(.{
.files = &.{
srcdir ++ "/rtextures.c",
},
.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(
&.{srcdir ++ "/rglfw.c"},
raylib_flags ++ raylib_flags_extra_macos,
);
raylib.addCSourceFiles(.{
.files = &.{srcdir ++ "/rglfw.c"},
.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");

正在加载...
取消
保存