[cmake-developers] Quiet option for cmake
Craig Scott
craig.scott at crascit.com
Thu Aug 23 06:02:25 EDT 2018
On Thu, Aug 23, 2018 at 4:40 AM, Brad King <brad.king at kitware.com> wrote:
> On 08/21/2018 05:04 PM, Craig Scott wrote:
> > A user has recently been asking about reducing the output coming from a
> > FetchContent population when nothing needs to be done
> > Because this is implemented as a sub-build, you always see the following
> >
> > -- Configuring done
> > -- Generating done
> > -- Build files have been written to: ...
>
> Isn't that output coming from the invocation here:
>
> https://gitlab.kitware.com/cmake/cmake/blob/v3.12.1/
> Modules/FetchContent.cmake#L776-781
>
> rather than inside ExternalProject?
>
Yes, that is where I'd like to be able to use the proposed --quiet or
--silent option.
>
> Why is that output not always captured?
>
If you capture it, then you don't get to see it until the command has
completed. It can take non-trivial time and in some cases may require user
input (e.g. to enter a password for a private SSH key). If you captured the
output and the download hung for some reason, there would be no output to
give any indication of where the download was up to. For cases where you
don't expect problems, you can use the QUIET option and the output is
indeed captured and only output at the end. This is the default because
otherwise the output is rather noisy with all the ExternalProject step
logging. But for cases where you need to investigate problems, you don't
want the output captured.
Now that I've said all that, I guess FetchContent could check if the output
of a QUIET run was just the above-mentioned three lines and drop them to
leave no output in that case. Might be the simpler solution. Furthermore,
for the second execute_process() call a few lines after the one referenced
above (which does the build stage of the sub-build), we could potentially
make use of the logging verbosity improvements in MR 2129
<https://gitlab.kitware.com/cmake/cmake/merge_requests/2129> if/when it is
done to further minimise the output of the "nothing to do" case.
--
Craig Scott
Melbourne, Australia
https://crascit.com
New book released: Professional CMake: A Practical Guide
<https://crascit.com/professional-cmake/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake-developers/attachments/20180823/e0ddb94d/attachment-0001.html>
More information about the cmake-developers
mailing list