// Build recipe // Copyright (C) 2024 Nguyễn Gia Phong // // This file is part of jz. // // jz is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published // by the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // jz is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with jz. If not, see . const Build = @import("std").Build; const Compile = Build.Step.Compile; /// Link given library, executable, or object with Janet shared library. pub fn link(compile: *Compile) void { compile.linkSystemLibrary("janet"); compile.linkSystemLibrary("c"); } pub fn build(b: *Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); const tests = b.addTest(.{ .root_source_file = .{ .path = "src/main.zig" }, .target = target, .optimize = optimize, }); link(tests); const run_tests = b.addRunArtifact(tests); const test_step = b.step("test", "Run library tests"); test_step.dependOn(&run_tests.step); }