Commit 9c1c1d478d

Jonathan Marler <johnnymarler@gmail.com>
2021-10-29 22:03:00
add print field to RunStep
A new print field is added to RunStep that will control whether it prints the cmd before running it. By default it will be set to builder.verbose which means it will print only if builder.verbose is true.
1 parent dcd88ae
Changed files (1)
lib
std
lib/std/build/RunStep.zig
@@ -37,6 +37,9 @@ stdin_behavior: std.ChildProcess.StdIo = .Inherit,
 
 expected_exit_code: u8 = 0,
 
+/// Print the command before running it
+print: bool,
+
 pub const StdIoAction = union(enum) {
     inherit,
     ignore,
@@ -58,6 +61,7 @@ pub fn create(builder: *Builder, name: []const u8) *RunStep {
         .argv = ArrayList(Arg).init(builder.allocator),
         .cwd = null,
         .env_map = null,
+        .print = builder.verbose,
     };
     return self;
 }
@@ -181,6 +185,9 @@ fn make(step: *Step) !void {
     child.stdout_behavior = stdIoActionToBehavior(self.stdout_action);
     child.stderr_behavior = stdIoActionToBehavior(self.stderr_action);
 
+    if (self.print)
+        printCmd(cwd, argv);
+
     child.spawn() catch |err| {
         warn("Unable to spawn {s}: {s}\n", .{ argv[0], @errorName(err) });
         return err;