From 8d29a0bda616c4c344def2b1db7aaa94b7f27dbb Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 12 Dec 2022 13:05:53 -0500 Subject: cmTryRunCommand: Factor out stdout/stderr capture conditions --- Source/cmTryRunCommand.cxx | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx index 1b545d5..bbefcd9 100644 --- a/Source/cmTryRunCommand.cxx +++ b/Source/cmTryRunCommand.cxx @@ -96,14 +96,16 @@ bool TryRunCommandImpl::TryRunCode(std::vector const& argv) } bool captureRunOutput = false; - bool captureRunOutputStdOutErr = false; + bool captureRunOutputStdOut = false; + bool captureRunOutputStdErr = false; if (arguments.OutputVariable) { captureRunOutput = true; } else if (arguments.CompileOutputVariable) { arguments.OutputVariable = arguments.CompileOutputVariable; } if (arguments.RunOutputStdOutVariable || arguments.RunOutputStdErrVariable) { - captureRunOutputStdOutErr = true; + captureRunOutputStdOut = arguments.RunOutputStdOutVariable.has_value(); + captureRunOutputStdErr = arguments.RunOutputStdErrVariable.has_value(); } else if (arguments.RunOutputVariable) { captureRunOutput = true; } @@ -132,22 +134,14 @@ bool TryRunCommandImpl::TryRunCode(std::vector const& argv) runArgs, *arguments.SourceDirectoryOrFile, *arguments.CompileResultVariable, captureRunOutput ? &runOutputContents : nullptr, - captureRunOutputStdOutErr && arguments.RunOutputStdOutVariable - ? &runOutputStdOutContents - : nullptr, - captureRunOutputStdOutErr && arguments.RunOutputStdErrVariable - ? &runOutputStdErrContents - : nullptr); + captureRunOutputStdOut ? &runOutputStdOutContents : nullptr, + captureRunOutputStdErr ? &runOutputStdErrContents : nullptr); } else { this->RunExecutable( runArgs, arguments.RunWorkingDirectory, captureRunOutput ? &runOutputContents : nullptr, - captureRunOutputStdOutErr && arguments.RunOutputStdOutVariable - ? &runOutputStdOutContents - : nullptr, - captureRunOutputStdOutErr && arguments.RunOutputStdErrVariable - ? &runOutputStdErrContents - : nullptr); + captureRunOutputStdOut ? &runOutputStdOutContents : nullptr, + captureRunOutputStdErr ? &runOutputStdErrContents : nullptr); } // now put the output into the variables -- cgit v0.12