Adding dependencies to Zig projects
Use this skill when:
.{
.name = "my-project",
.version = "0.1.0",
.dependencies = .{
.@"some-package" = .{
.url = "https://github.com/user/package/archive/main.tar.gz",
.hash = "1220abcdef...",
},
},
.paths = .{
"build.zig",
"build.zig.zon",
"src",
},
}
# Zig will prompt for hash on first build
zig build
# Or fetch manually
zig fetch --save https://github.com/user/package/archive/main.tar.gz
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const exe = b.addExecutable(.{
.name = "my-app",
.root_source_file = .{ .path = "src/main.zig" },
.target = target,
.optimize = optimize,
});
// Add dependency
const pkg = b.dependency("some-package", .{
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("pkg", pkg.module("pkg"));
b.installArtifact(exe);
}
const std = @import("std");
const pkg = @import("pkg");
pub fn main() !void {
pkg.doSomething();
}