27 lines
889 B
Zig
27 lines
889 B
Zig
const std = @import("std");
|
|
|
|
const client_b = @import("client/build.zig");
|
|
const common_b = @import("common/build.zig");
|
|
const server_b = @import("server/build.zig");
|
|
|
|
pub fn build(b: *std.Build) void {
|
|
const Modules = enum { Client, Server, Both };
|
|
const modules = b.option(Modules, "modules", "Choose whether to build the client, the server, or both.") orelse .Both;
|
|
|
|
const target = b.standardTargetOptions(.{});
|
|
const optimize = b.standardOptimizeOption(.{});
|
|
|
|
const common = common_b.build(b, target, optimize);
|
|
|
|
if (modules != Modules.Server) {
|
|
const client = client_b.build(b, target, optimize);
|
|
client.root_module.addImport("common", common.root_module);
|
|
b.installArtifact(client);
|
|
}
|
|
|
|
if (modules != Modules.Client) {
|
|
const server = server_b.build(b, target, optimize);
|
|
server.root_module.addImport("common", common.root_module);
|
|
b.installArtifact(server);
|
|
}
|
|
}
|