zls/build.zig

46 lines
1.5 KiB
Zig
Raw Normal View History

2020-05-02 17:43:26 +01:00
const std = @import("std");
const builtin = @import("builtin");
2021-10-02 06:37:11 +01:00
const shared = @import("./src/shared.zig");
2020-05-25 22:12:08 +01:00
2020-05-07 16:29:40 +01:00
pub fn build(b: *std.build.Builder) !void {
2020-04-24 23:19:03 +01:00
const target = b.standardTargetOptions(.{});
const mode = b.standardReleaseOptions();
const exe = b.addExecutable("zls", "src/main.zig");
2021-08-28 16:22:41 +01:00
const exe_options = b.addOptions();
exe.addOptions("build_options", exe_options);
exe_options.addOption(
2021-10-02 06:37:11 +01:00
shared.ZigVersion,
2020-05-07 16:29:40 +01:00
"data_version",
2021-10-02 06:37:11 +01:00
b.option(shared.ZigVersion, "data_version", "The Zig version your compiler is.") orelse .master,
2020-05-07 16:29:40 +01:00
);
2020-05-02 17:43:26 +01:00
exe_options.addOption(
std.log.Level,
"log_level",
2021-11-02 15:46:16 +00:00
b.option(std.log.Level, "log_level", "The Log Level to be used.") orelse .info,
);
exe.addPackage(.{ .name = "known-folders", .source = .{ .path = "src/known-folders/known-folders.zig" } });
exe.addPackage(.{ .name = "zinput", .source = .{ .path = "src/zinput/src/main.zig" } });
2020-04-24 23:19:03 +01:00
exe.setTarget(target);
exe.setBuildMode(mode);
exe.install();
b.installFile("src/special/build_runner.zig", "bin/build_runner.zig");
2020-05-27 19:58:35 +01:00
const test_step = b.step("test", "Run all the tests");
2021-10-01 01:46:10 +01:00
test_step.dependOn(b.getInstallStep());
2020-05-27 19:58:35 +01:00
var unit_tests = b.addTest("src/unit_tests.zig");
2020-05-27 19:58:35 +01:00
unit_tests.setBuildMode(.Debug);
test_step.dependOn(&unit_tests.step);
var session_tests = b.addTest("tests/sessions.zig");
session_tests.addPackage(.{ .name = "header", .source = .{ .path = "src/header.zig" } });
session_tests.setBuildMode(.Debug);
test_step.dependOn(&session_tests.step);
2020-04-24 23:19:03 +01:00
}