Yes. Did you have a close look at the commits? I'm not really sure they are
correct, and I wonder if you have any thoughts on the first one which
discusses interface?
I went back and had a closer look at the major changes. I think on the whole the cmMessenger class is good and a clear improvement over the previous organisation, however I imagine in its current form it would be perhaps a bit tricky extending it for other environments (e.g. displaying messages as GUI modal notifications), which I understood to be one of the overall aims of the branch (correct me if I've misunderstood of course though).

I would be tempted to make the following changes to the cmMessenger class:

* Make cmMessenger an abstract class, and have the IssueMessage methods pure virtual here, then create an extension containing the current implementations called cmConsoleMessenger or something. The name cmMessenger suggests a fairly generic concept, but the current implementation feels geared around a console, though that's just my thoughts. * Make the IsMessageTypeVisible and ConvertMessageType methods virtual and protected, to make it easier to override their behaviour in extensions of the base class.
* Change printMessagePreamble to return void
* Rename printMessagePreamble to appendMessagePreamble or something to better reflect what its doing, similar change to printMessageText as well * Move the different parts to displayMessage into individual methods, e.g. adding the notes about warning suppression * Append notes for DEPRECATED_WARNING and DEPRECATED_ERROR message types, or remove the current notes, to be consistent

I don't really have any other comments for the other commits. I was wondering if it would be possible to move away from accessing the cmMessenger class through the cmake / cmMakefile class, but then if we do want to slot it new implementations easily I imagine the current organisation would facilitate that quite well so it wouldn't be worth changing.

Cheers,
Michael
--

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

Reply via email to