From ecc000b1eccb85a32e1044bbe9c1f11cb05388d2 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 15 Jun 2020 14:22:09 +0200 Subject: [PATCH] build: allow disabling man-pages if scdoc is found --- build.zig | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/build.zig b/build.zig index 171f8e1..ede904c 100644 --- a/build.zig +++ b/build.zig @@ -21,7 +21,13 @@ pub fn build(b: *std.build.Builder) !void { bool, "man-pages", "Set to true to build man pages. Requires scdoc. Defaults to true if scdoc is found.", - ) orelse false; + ) orelse scdoc_found: { + _ = b.findProgram(&[_][]const u8{"scdoc"}, &[_][]const u8{}) catch |err| switch (err) { + error.FileNotFound => break :scdoc_found false, + else => return err, + }; + break :scdoc_found true; + }; const examples = b.option( bool, @@ -62,14 +68,7 @@ pub fn build(b: *std.build.Builder) !void { riverctl.install(); } - const scdoc = b.findProgram(&[_][]const u8{"scdoc"}, &[_][]const u8{}) catch |err| switch (err) { - error.FileNotFound => if (man_pages) { - @panic("scdoc not found, cannot generate man pages"); - } else null, - else => return err, - }; - - if (scdoc != null) { + if (man_pages) { const scdoc_step = ScdocStep.create(b); try scdoc_step.install(); }