28 lines
960 B
Zig
28 lines
960 B
Zig
const std = @import("std");
|
|
|
|
pub fn build(b: *std.Build) void {
|
|
const target = b.standardTargetOptions(.{});
|
|
const optimize = b.standardOptimizeOption(.{});
|
|
|
|
// Expose soliton as a module for downstream consumers.
|
|
const soliton_mod = b.addModule("soliton", .{
|
|
.root_source_file = b.path("src/soliton.zig"),
|
|
.target = target,
|
|
.optimize = optimize,
|
|
});
|
|
// Header is in soliton_capi/; the built .so is in target/release/
|
|
// (workspace-level output, not per-crate).
|
|
soliton_mod.addIncludePath(b.path("../soliton_capi"));
|
|
soliton_mod.linkSystemLibrary("soliton_capi", .{});
|
|
soliton_mod.addLibraryPath(b.path("../target/release"));
|
|
|
|
// Tests.
|
|
const tests = b.addTest(.{
|
|
.root_module = soliton_mod,
|
|
});
|
|
tests.linkLibC();
|
|
|
|
const run_tests = b.addRunArtifact(tests);
|
|
const test_step = b.step("test", "Run soliton wrapper tests");
|
|
test_step.dependOn(&run_tests.step);
|
|
}
|