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); }