git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit24e7b1c7390d8173f4c67a69fadb2bfc92624822
parent8c6ae79f29
authorIsaac Freund <[email protected]>
date2020-06-15 14:22
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();
     }