chore: update to baf012836e9b1cb9ae11f0c67e6149976081e022
This commit is contained in:
parent
a5df40564c
commit
0284173d16
39
build.zig
39
build.zig
|
@ -1,8 +1,5 @@
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
const zglfw = @import("zglfw");
|
|
||||||
const zgpu = @import("zgpu");
|
|
||||||
|
|
||||||
pub const Backend = enum {
|
pub const Backend = enum {
|
||||||
no_backend,
|
no_backend,
|
||||||
glfw_wgpu,
|
glfw_wgpu,
|
||||||
|
@ -29,18 +26,18 @@ pub const Package = struct {
|
||||||
options: Options,
|
options: Options,
|
||||||
zgui: *std.Build.Module,
|
zgui: *std.Build.Module,
|
||||||
zgui_options: *std.Build.Module,
|
zgui_options: *std.Build.Module,
|
||||||
zgui_c_cpp: *std.Build.CompileStep,
|
zgui_c_cpp: *std.Build.Step.Compile,
|
||||||
|
|
||||||
pub fn link(pkg: Package, exe: *std.Build.CompileStep) void {
|
pub fn link(pkg: Package, exe: *std.Build.Step.Compile) void {
|
||||||
exe.linkLibrary(pkg.zgui_c_cpp);
|
exe.linkLibrary(pkg.zgui_c_cpp);
|
||||||
exe.addModule("zgui", pkg.zgui);
|
exe.root_module.addImport("zgui", pkg.zgui);
|
||||||
exe.addModule("zgui_options", pkg.zgui_options);
|
exe.root_module.addImport("zgui_options", pkg.zgui_options);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn package(
|
pub fn package(
|
||||||
b: *std.Build,
|
b: *std.Build,
|
||||||
target: std.zig.CrossTarget,
|
target: std.Build.ResolvedTarget,
|
||||||
optimize: std.builtin.Mode,
|
optimize: std.builtin.Mode,
|
||||||
args: struct {
|
args: struct {
|
||||||
options: Options,
|
options: Options,
|
||||||
|
@ -53,8 +50,8 @@ pub fn package(
|
||||||
const zgui_options = step.createModule();
|
const zgui_options = step.createModule();
|
||||||
|
|
||||||
const zgui = b.addModule("zgui", .{
|
const zgui = b.addModule("zgui", .{
|
||||||
.source_file = .{ .path = thisDir() ++ "/src/gui.zig" },
|
.root_source_file = .{ .path = thisDir() ++ "/src/gui.zig" },
|
||||||
.dependencies = &.{
|
.imports = &.{
|
||||||
.{ .name = "zgui_options", .module = zgui_options },
|
.{ .name = "zgui_options", .module = zgui_options },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -67,13 +64,13 @@ pub fn package(
|
||||||
});
|
});
|
||||||
|
|
||||||
b.installArtifact(lib);
|
b.installArtifact(lib);
|
||||||
if (target.isWindows()) {
|
if (target.result.os.tag == .windows) {
|
||||||
lib.defineCMacro("IMGUI_API", "__declspec(dllexport)");
|
lib.defineCMacro("IMGUI_API", "__declspec(dllexport)");
|
||||||
lib.defineCMacro("IMPLOT_API", "__declspec(dllexport)");
|
lib.defineCMacro("IMPLOT_API", "__declspec(dllexport)");
|
||||||
lib.defineCMacro("ZGUI_API", "__declspec(dllexport)");
|
lib.defineCMacro("ZGUI_API", "__declspec(dllexport)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.isDarwin()) {
|
if (target.result.os.tag == .macos) {
|
||||||
lib.linker_allow_shlib_undefined = true;
|
lib.linker_allow_shlib_undefined = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +84,7 @@ pub fn package(
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = thisDir() ++ "/libs" });
|
zgui_c_cpp.addIncludePath(.{ .path = thisDir() ++ "/libs" });
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = thisDir() ++ "/libs/imgui" });
|
zgui_c_cpp.addIncludePath(.{ .path = thisDir() ++ "/libs/imgui" });
|
||||||
|
|
||||||
const abi = (std.zig.system.NativeTargetInfo.detect(target) catch unreachable).target.abi;
|
const abi = target.result.abi;
|
||||||
zgui_c_cpp.linkLibC();
|
zgui_c_cpp.linkLibC();
|
||||||
if (abi != .msvc)
|
if (abi != .msvc)
|
||||||
zgui_c_cpp.linkLibCpp();
|
zgui_c_cpp.linkLibCpp();
|
||||||
|
@ -128,8 +125,10 @@ pub fn package(
|
||||||
|
|
||||||
switch (args.options.backend) {
|
switch (args.options.backend) {
|
||||||
.glfw_wgpu => {
|
.glfw_wgpu => {
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = zglfw.path ++ "/libs/glfw/include" });
|
const zglfw = b.dependency("zglfw", .{});
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = zgpu.path ++ "/libs/dawn/include" });
|
const zgpu = b.dependency("zgpu", .{});
|
||||||
|
zgui_c_cpp.addIncludePath(.{ .path = zglfw.path("libs/glfw/include").getPath(b) });
|
||||||
|
zgui_c_cpp.addIncludePath(.{ .path = zgpu.path("libs/dawn/include").getPath(b) });
|
||||||
zgui_c_cpp.addCSourceFiles(.{
|
zgui_c_cpp.addCSourceFiles(.{
|
||||||
.files = &.{
|
.files = &.{
|
||||||
thisDir() ++ "/libs/imgui/backends/imgui_impl_glfw.cpp",
|
thisDir() ++ "/libs/imgui/backends/imgui_impl_glfw.cpp",
|
||||||
|
@ -139,8 +138,8 @@ pub fn package(
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
.glfw_opengl3 => {
|
.glfw_opengl3 => {
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = zglfw.path ++ "/libs/glfw/include" });
|
const zglfw = b.dependency("zglfw", .{});
|
||||||
zgui_c_cpp.addIncludePath(.{ .path = zgpu.path ++ "/libs/dawn/include" });
|
zgui_c_cpp.addIncludePath(.{ .path = zglfw.path("libs/glfw/include").getPath(b) });
|
||||||
zgui_c_cpp.addCSourceFiles(.{
|
zgui_c_cpp.addCSourceFiles(.{
|
||||||
.files = &.{
|
.files = &.{
|
||||||
thisDir() ++ "/libs/imgui/backends/imgui_impl_glfw.cpp",
|
thisDir() ++ "/libs/imgui/backends/imgui_impl_glfw.cpp",
|
||||||
|
@ -157,8 +156,8 @@ pub fn package(
|
||||||
},
|
},
|
||||||
.flags = cflags,
|
.flags = cflags,
|
||||||
});
|
});
|
||||||
zgui_c_cpp.linkSystemLibraryName("d3dcompiler_47");
|
zgui_c_cpp.linkSystemLibrary("d3dcompiler_47");
|
||||||
zgui_c_cpp.linkSystemLibraryName("dwmapi");
|
zgui_c_cpp.linkSystemLibrary("dwmapi");
|
||||||
},
|
},
|
||||||
.no_backend => {},
|
.no_backend => {},
|
||||||
}
|
}
|
||||||
|
@ -203,7 +202,7 @@ pub fn build(b: *std.Build) void {
|
||||||
pub fn runTests(
|
pub fn runTests(
|
||||||
b: *std.Build,
|
b: *std.Build,
|
||||||
optimize: std.builtin.OptimizeMode,
|
optimize: std.builtin.OptimizeMode,
|
||||||
target: std.zig.CrossTarget,
|
target: std.Build.ResolvedTarget,
|
||||||
) *std.Build.Step {
|
) *std.Build.Step {
|
||||||
const gui_tests = b.addTest(.{
|
const gui_tests = b.addTest(.{
|
||||||
.name = "gui-tests",
|
.name = "gui-tests",
|
||||||
|
|
Loading…
Reference in New Issue