From d5d5f7f06397d73f497d352f2f38b1a53d932b0d Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Mon, 19 Feb 2024 23:38:33 +0200 Subject: Big update to modern zig --- build.zig | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) (limited to 'build.zig') diff --git a/build.zig b/build.zig index d65020a..429dc5b 100644 --- a/build.zig +++ b/build.zig @@ -1,11 +1,12 @@ const std = @import("std"); -const Builder = std.build.Builder; +const Builder = std.Build; const SemanticVersion = std.SemanticVersion; const share_prefix = "share/arkta/es/"; const version = "0.3.0"; +const semver = SemanticVersion.parse(version) catch unreachable; const config = struct { template: []const u8 = @embedFile("es.ini.in"), @@ -18,37 +19,34 @@ const config = struct { }{}; fn installGeneratedFile(b: *Builder, comptime name: []const u8, data: []const u8) void { - const write_file = b.addWriteFile(name, data); - - const write_file_install = b.addInstallFile( - write_file.getFileSource(name).?, - share_prefix ++ name, - ); - write_file_install.step.dependOn(&write_file.step); + const write_files = b.addWriteFiles(); + const write_file = write_files.add(name, data); + const write_file_install = b.addInstallFile(write_file, share_prefix ++ name); + write_file_install.step.dependOn(&write_files.step); b.getInstallStep().dependOn(&write_file_install.step); } pub fn build(b: *Builder) void { const target = b.standardTargetOptions(.{}); - const mode = b.standardReleaseOptions(); + const optimize = b.standardOptimizeOption(.{}); const options = b.addOptions(); - options.addOption( - SemanticVersion, - "es_version", - SemanticVersion.parse(version) catch unreachable, - ); + options.addOption(SemanticVersion, "es_version", semver); options.addOption(bool, "default_hard_tabs", config.default.hard_tabs); options.addOption(usize, "default_line_limit", config.default.line_limit); options.addOption(usize, "default_page_overlap", config.default.page_overlap); options.addOption(usize, "default_tab_stop", config.default.tab_stop); - const exe = b.addExecutable("es", "src/main.zig"); - exe.setTarget(target); - exe.setBuildMode(mode); - exe.addOptions("es-config", options); - exe.install(); + const exe = b.addExecutable(.{ + .name = "es", + .version = semver, + .root_source_file = .{ .path = "src/main.zig" }, + .target = target, + .optimize = optimize, + }); + exe.root_module.addOptions("es-config", options); + b.installArtifact(exe); installGeneratedFile( b, @@ -56,7 +54,7 @@ pub fn build(b: *Builder) void { comptime std.fmt.comptimePrint(config.template, config.default), ); - const run_cmd = exe.run(); + const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); if (b.args) |args| { run_cmd.addArgs(args); -- cgit v1.2.3