[cmake-developers] [PATCH] stage/compact-status-log

Chuck Atkins chuck.atkins at kitware.com
Wed Sep 24 09:44:27 EDT 2014


I like the idea of reducing the extra-verbose output, and maybe I'm missing
something here but could this possibly be done with a much simpler
approach?  It seems the way these double messages happen is with the
following CMake code:

message(STATUS "Doing something")
# Do some stuff
message(STATUS "Doing something - Result")

Couldn't the same thing be achieved in a platform agnostic way by adding a
NOENDL option (or something similar) to the message command?  Then you
could achieve the same result with:

message(STATUS "Doing something" NOENDL)
# Do some stuff
message(STATUS " - Result")

Just a bit of logic to add the NOENDL option and then another to omit the
message prefix if the previous call used NOENDL.  It seems this could
achieve the compact log result, do it in a platform agnostic way, and also
provide the useful feature to the message command for users.  It would be a
two-step process: first, enhance the message command, second, update the
various .cmake files in Sources/Modules to leverage the new syntax.

Just my 2 cents.

- Chuck

On Wed, Sep 24, 2014 at 8:36 AM, Brad King <brad.king at kitware.com> wrote:

> On 09/24/2014 08:02 AM, Adam Strzelecki wrote:
> > cmThread utility class
>
> Introducing threads is exactly the "too much infrastructure"
> to which I was referring in my previous response.  I'm sorry
> to reject all the effort you put into the threads approach so
> far, but I did say this earlier.
>
> > cmake emits simply too much (redundant) information.
>
> IIRC the original reason for having separate
>
>        -- Looking for iconv.h
>        -- Looking for iconv.h - Found
>
> lines is that the first one prints what is about to be
> done in case something happens (e.g. crash) that prevents
> the second output from ever showing up.  That helps a lot
> in tracking down the problem.  If another thread buffers
> the first message then it might not show up at all.  The
> terminal escape codes approach does not have that problem.
>
> The same de-dup you do in the threaded filter could be done
> with a shell alias that pipes 'cmake' output through a sed
> script or something to de-dup it.  That would handle local
> interactive terminal use of cmake without any upstream
> changes.
>
> -Brad
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20140924/7ebd0dd7/attachment-0002.html>


More information about the cmake-developers mailing list