search for standard sites pub-search.waow.tech
search zig blog atproto
at 237b0322f9d0171f5ced5a04a72be7c5380ca0ca 82 lines 2.4 kB view raw
1const std = @import("std"); 2 3pub fn build(b: *std.Build) void { 4 const target = b.standardTargetOptions(.{}); 5 const optimize = b.standardOptimizeOption(.{}); 6 7 const websocket = b.dependency("websocket", .{ 8 .target = target, 9 .optimize = optimize, 10 }); 11 12 const zql = b.dependency("zql", .{ 13 .target = target, 14 .optimize = optimize, 15 }); 16 17 const zat = b.dependency("zat", .{ 18 .target = target, 19 .optimize = optimize, 20 }); 21 22 const zqlite = b.dependency("zqlite", .{ 23 .target = target, 24 .optimize = optimize, 25 .sqlite3 = &[_][]const u8{ "-std=c99", "-DSQLITE_ENABLE_FTS5" }, 26 }); 27 28 const logfire = b.dependency("logfire", .{ 29 .target = target, 30 .optimize = optimize, 31 }); 32 33 const exe = b.addExecutable(.{ 34 .name = "leaflet-search", 35 .root_module = b.createModule(.{ 36 .root_source_file = b.path("src/main.zig"), 37 .target = target, 38 .optimize = optimize, 39 .imports = &.{ 40 .{ .name = "websocket", .module = websocket.module("websocket") }, 41 .{ .name = "zql", .module = zql.module("zql") }, 42 .{ .name = "zat", .module = zat.module("zat") }, 43 .{ .name = "zqlite", .module = zqlite.module("zqlite") }, 44 .{ .name = "logfire", .module = logfire.module("logfire") }, 45 }, 46 }), 47 }); 48 49 b.installArtifact(exe); 50 51 const run_cmd = b.addRunArtifact(exe); 52 run_cmd.step.dependOn(b.getInstallStep()); 53 if (b.args) |args| { 54 run_cmd.addArgs(args); 55 } 56 57 const run_step = b.step("run", "Run the server"); 58 run_step.dependOn(&run_cmd.step); 59 60 // test step 61 const test_step = b.step("test", "Run unit tests"); 62 63 const test_files = [_][]const u8{ 64 "src/search.zig", 65 "src/ingest/extractor.zig", 66 }; 67 68 for (test_files) |file| { 69 const unit_tests = b.addTest(.{ 70 .root_module = b.createModule(.{ 71 .root_source_file = b.path(file), 72 .target = target, 73 .optimize = optimize, 74 .imports = &.{ 75 .{ .name = "zat", .module = zat.module("zat") }, 76 }, 77 }), 78 }); 79 const run_tests = b.addRunArtifact(unit_tests); 80 test_step.dependOn(&run_tests.step); 81 } 82}