1
0
Fork 0
zar/build.zig

67 lines
2 KiB
Zig
Raw Normal View History

2020-07-09 01:16:31 +01:00
const std = @import("std");
const Builder = @import("std").build.Builder;
pub fn build(b: *Builder) void {
const mode = b.standardReleaseOptions();
const exe = b.addExecutable("zar", "src/main.zig");
2020-07-11 15:56:03 +01:00
const disable_colour = b.option(
bool,
"disable_colour",
"no colour",
) orelse false;
2020-07-16 12:22:08 +01:00
exe.addBuildOption(bool, "disable_colour", disable_colour);
2020-07-11 15:56:03 +01:00
const terminal_version = b.option(
bool,
"terminal_version",
"terminal-only version",
) orelse false;
exe.addBuildOption(bool, "terminal_version", terminal_version);
2020-07-19 12:48:12 +01:00
const disable_terminal_mouse = b.option(
bool,
"disable_terminal_mouse",
"disables mouse input processing for terminal",
) orelse false;
exe.addBuildOption(bool, "disable_terminal_mouse", disable_terminal_mouse);
2020-07-16 12:22:08 +01:00
const debug_allocator = b.option(
bool,
"debug_allocator",
"use debug allocator for testing",
) orelse false;
exe.addBuildOption(bool, "debug_allocator", debug_allocator);
2020-07-18 14:21:45 +01:00
var weather_location = b.option(
[]const u8,
"weather_location",
"weather_location",
2020-07-18 14:21:45 +01:00
) orelse "";
if (weather_location.len == 0) {
weather_location = "\"\"";
} else if (weather_location[0] != '"') {
2020-07-18 14:32:51 +01:00
weather_location = std.fmt.allocPrint(b.allocator, "\"{}\"", .{weather_location}) catch "\"\"";
2020-07-18 14:21:45 +01:00
}
exe.addBuildOption([]const u8, "weather_location", weather_location);
2020-07-12 16:29:30 +01:00
//exe.strip = true;
2020-07-09 01:16:31 +01:00
exe.addPackage(.{
.name = "interfaces",
.path = "deps/interfaces/interface.zig",
});
2020-07-09 20:50:06 +01:00
exe.addPackage(.{
.name = "time",
.path = "deps/time/src/time.zig",
});
2020-07-09 01:16:31 +01:00
exe.addPackage(.{
.name = "hzzp",
.path = "deps/hzzp/src/main.zig",
});
2020-07-09 01:16:31 +01:00
exe.setBuildMode(mode);
const run_cmd = exe.run();
const run_step = b.step("run", "Run the app");
run_step.dependOn(&run_cmd.step);
b.default_step.dependOn(&exe.step);
b.installArtifact(exe);
}