chat/client/build.zig
2025-06-10 23:24:32 +01:00

43 lines
1.1 KiB
Zig

const std = @import("std");
pub fn build(
b: *std.Build,
target: std.Build.ResolvedTarget,
optimize: std.builtin.OptimizeMode,
) *std.Build.Step.Compile {
const qt6zig_ = b.lazyDependency("libqt6zig", .{
.target = target,
.optimize = .ReleaseFast,
});
const mod = b.createModule(.{
.root_source_file = b.path("client/src/main.zig"),
.target = target,
.optimize = optimize,
});
const step = b.addExecutable(.{
.name = "chat.client",
.root_module = mod,
});
if (qt6zig_) |qt6zig| {
step.root_module.addImport("libqt6zig", qt6zig.module("libqt6zig"));
step.root_module.linkLibrary(qt6zig.artifact("qapplication"));
step.root_module.linkLibrary(qt6zig.artifact("qwidget"));
step.root_module.linkSystemLibrary("Qt6Core", .{});
step.root_module.linkSystemLibrary("Qt6Gui", .{});
step.root_module.linkSystemLibrary("Qt6Widgets", .{});
}
const cmd = b.addRunArtifact(step);
cmd.step.dependOn(b.getInstallStep());
if (b.args) |args| {
cmd.addArgs(args);
}
const run = b.step("run-client", "Run the chat client");
run.dependOn(&cmd.step);
return step;
}