From c0465c198d93b2bb8d6f08999758a8df5fc0befb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Wed, 15 Feb 2023 17:12:07 +0900 Subject: [PATCH] Update against Zig's new build API References: https://github.com/ziglang/zig/pull/14498 --- .gitignore | 2 +- build.zig | 41 ++++++++++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 0bda208..e73c965 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ zig-cache/ -zig-cache/ +zig-out/ diff --git a/build.zig b/build.zig index a168b42..55ba306 100644 --- a/build.zig +++ b/build.zig @@ -1,36 +1,51 @@ const std = @import("std"); -pub fn build(b: *std.build.Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { + const optimize = b.standardOptimizeOption(.{}); - const lib = b.addStaticLibrary("ini", "src/lib.zig"); + const lib = b.addStaticLibrary(.{ + .name = "ini", + .root_source_file = .{ .path = "src/lib.zig" }, + .target = b.standardTargetOptions(.{}), + .optimize = optimize, + }); lib.bundle_compiler_rt = true; lib.addIncludePath("src"); lib.linkLibC(); - lib.setBuildMode(mode); lib.install(); - const example_c = b.addExecutable("example-c", null); + const example_c = b.addExecutable(.{ + .name = "example-c", + .optimize = optimize, + }); example_c.addCSourceFile("example/example.c", &[_][]const u8{ "-Wall", "-Wextra", "-pedantic" }); example_c.addIncludePath("src"); example_c.linkLibrary(lib); example_c.linkLibC(); - example_c.setBuildMode(mode); example_c.install(); - const example_zig = b.addExecutable("example-zig", "example/example.zig"); - example_zig.addPackagePath("ini", "src/ini.zig"); - example_zig.setBuildMode(mode); + const example_zig = b.addExecutable(.{ + .name = "example-zig", + .root_source_file = .{ .path = "example/example.zig" }, + .optimize = optimize, + }); + example_zig.addAnonymousModule("ini", .{ + .source_file = .{ .path = "src/ini.zig" }, + }); example_zig.install(); - var main_tests = b.addTest("src/test.zig"); - main_tests.setBuildMode(mode); + var main_tests = b.addTest(.{ + .root_source_file = .{ .path = "src/test.zig" }, + .optimize = optimize, + }); - var binding_tests = b.addTest("src/lib-test.zig"); + var binding_tests = b.addTest(.{ + .root_source_file = .{ .path = "src/lib-test.zig" }, + .optimize = optimize, + }); binding_tests.addIncludePath("src"); binding_tests.linkLibrary(lib); binding_tests.linkLibC(); - binding_tests.setBuildMode(mode); const test_step = b.step("test", "Run library tests"); test_step.dependOn(&main_tests.step);