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; }