43 lines
1.1 KiB
Zig
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;
|
|
}
|