aboutsummaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorMartin Ashby <martin@ashbysoft.com>2023-08-28 08:57:11 +0100
committerMartin Ashby <martin@ashbysoft.com>2023-08-28 08:57:11 +0100
commite3d196387e299f0adfc2149d1b3756e1f9137939 (patch)
treee74bc4e0f00b3e75ec473b792ae9a9b8428ae7a9 /build.zig
parent6dfff883b974367b64b47cdb1ddb69ac5d59852a (diff)
downloadsmtp-zig-e3d196387e299f0adfc2149d1b3756e1f9137939.tar.gz
smtp-zig-e3d196387e299f0adfc2149d1b3756e1f9137939.tar.bz2
smtp-zig-e3d196387e299f0adfc2149d1b3756e1f9137939.tar.xz
smtp-zig-e3d196387e299f0adfc2149d1b3756e1f9137939.zip
Cleanup build.zig and add module for use by package manager
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig26
1 files changed, 2 insertions, 24 deletions
diff --git a/build.zig b/build.zig
index 947a6a0..4f081dc 100644
--- a/build.zig
+++ b/build.zig
@@ -1,47 +1,25 @@
const std = @import("std");
-// Although this function looks imperative, note that its job is to
-// declaratively construct a build graph that will be executed by an external
-// runner.
pub fn build(b: *std.Build) void {
- // Standard target options allows the person running `zig build` to choose
- // what target to build for. Here we do not override the defaults, which
- // means any target is allowed, and the default is native. Other options
- // for restricting supported target set are available.
const target = b.standardTargetOptions(.{});
-
- // Standard optimization options allow the person running `zig build` to select
- // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. Here we do not
- // set a preferred release mode, allowing the user to decide how to optimize.
const optimize = b.standardOptimizeOption(.{});
const lib = b.addStaticLibrary(.{
- .name = "smtp-zig",
- // In this case the main source file is merely a path, however, in more
- // complicated build scripts, this could be a generated file.
+ .name = "smtp",
.root_source_file = .{ .path = "src/main.zig" },
.target = target,
.optimize = optimize,
});
-
- // This declares intent for the library to be installed into the standard
- // location when the user invokes the "install" step (the default step when
- // running `zig build`).
b.installArtifact(lib);
+ b.addModule("smtp", .{ .source_file = .{ .path = "src/main.zig" } });
- // Creates a step for unit testing. This only builds the test executable
- // but does not run it.
const main_tests = b.addTest(.{
.root_source_file = .{ .path = "src/main.zig" },
.target = target,
.optimize = optimize,
});
-
const run_main_tests = b.addRunArtifact(main_tests);
- // This creates a build step. It will be visible in the `zig build --help` menu,
- // and can be selected like this: `zig build test`
- // This will evaluate the `test` step rather than the default, which is "install".
const test_step = b.step("test", "Run library tests");
test_step.dependOn(&run_main_tests.step);
}