Boost C++ Libraries: Ticket #3508: bjam output in colours https://svn.boost.org/trac10/ticket/3508 <p> I think it would be very useful if bjam prints output to stdout in colours to help to distinguish at least information messages, warnings and errors. </p> <p> CMake does provide coloured output out of the box. For GNU make and GCC there are <a class="ext-link" href="http://bre.klaki.net/programs/colormake/"><span class="icon">​</span>http://bre.klaki.net/programs/colormake/</a> colormake] and <a class="ext-link" href="http://schlueters.de/colorgcc.html"><span class="icon">​</span>colorgcc</a>. </p> <p> All these tools help programmers to avoid <em>nystagmus</em> issues while analysing compiler output :-) </p> <p> As a proof of concept, I attached <a class="ext-link" href="http://mateusz.loskot.net/?p=465"><span class="icon">​</span>colorbb'' script a rough port of the colormake</a> to work with bjam + GCC toolset. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3508 Trac 1.4.3 mloskot <mateusz@…> Sun, 04 Oct 2009 17:27:13 GMT attachment set https://svn.boost.org/trac10/ticket/3508 https://svn.boost.org/trac10/ticket/3508 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">colorbb</span> </li> </ul> <p> Wrapper for bjam to colourise it's output and pipe through less </p> Ticket mloskot <mateusz@…> Sun, 04 Oct 2009 17:27:58 GMT attachment set https://svn.boost.org/trac10/ticket/3508 https://svn.boost.org/trac10/ticket/3508 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">colorbb.pl</span> </li> </ul> <p> Perl script based on colormake version </p> Ticket Vladimir Prus Thu, 05 Nov 2009 08:50:04 GMT <link>https://svn.boost.org/trac10/ticket/3508#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3508#comment:1</guid> <description> <p> This would be nifty. The only issue is detecting if the terminal handles those escape sequences. CMake has cmSystemTools.cxx:MakefileColorEcho, which in turn uses cmsysTerminal_Color_AssumeTTY and cmsysTerminal_cfprintf, but I could not find the definitions of those two. </p> </description> <category>Ticket</category> </item> <item> <author>mloskot <mateusz@…></author> <pubDate>Sat, 07 Nov 2009 17:08:10 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3508#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3508#comment:2</guid> <description> <p> Vladimir, I appreciate you like this idea. </p> <p> The function is implemented in CMake low-level module cmsys/kwsys. </p> <ul><li><a class="ext-link" href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/kwsys/Terminal.h.in?revision=1.3.8.1&amp;root=CMake&amp;view=markup"><span class="icon">​</span>kwsys/Terminal.h.in</a> </li><li><a class="ext-link" href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/kwsys/Terminal.c?revision=1.10.8.1&amp;root=CMake&amp;view=markup"><span class="icon">​</span>kwsys/Terminal.c</a> </li></ul><p> Next, during building CMake, ./bootstrap step, the <em>kwsys</em> module, so the files above, is used to generate <em>cmsys</em> module and the <em>Termina.h</em> generated from the '"Terminal.h.in<em> renames kwsys prefix to cmksys prefix: </em></p> <pre class="wiki">#if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) cmsys##x # define kwsysEXPORT cmsys_EXPORT #endif </pre><p> It means, the function <em>cmsysTerminal_cfprintf</em> is in fact function implemented as <em>kwsysTerminal_cfprintf</em> in the Terminal.c file linked above. </p> <p> Shortly, it is <a class="ext-link" href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/kwsys/?root=CMake"><span class="icon">​</span>CMake/Source/kwsys</a> what we are looking for. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Vladimir Prus</dc:creator> <pubDate>Tue, 10 Nov 2009 07:37:15 GMT</pubDate> <title>milestone set https://svn.boost.org/trac10/ticket/3508#comment:3 https://svn.boost.org/trac10/ticket/3508#comment:3 <ul> <li><strong>milestone</strong> → <span class="trac-field-new">Boost 1.42.0</span> </li> </ul> <p> Tentatively scheduling for 1.42 </p> Ticket Vladimir Prus Sun, 10 Jan 2010 21:04:30 GMT owner, component, milestone changed https://svn.boost.org/trac10/ticket/3508#comment:4 https://svn.boost.org/trac10/ticket/3508#comment:4 <ul> <li><strong>owner</strong> changed from <span class="trac-author">René Rivera</span> to <span class="trac-author">Vladimir Prus</span> </li> <li><strong>component</strong> <span class="trac-field-old">bjam</span> → <span class="trac-field-new">build</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.42.0</span> → <span class="trac-field-new">Boost 1.43.0</span> </li> </ul> Ticket jan,boehme@… Fri, 04 Mar 2011 10:25:51 GMT keywords, milestone changed; cc set https://svn.boost.org/trac10/ticket/3508#comment:5 https://svn.boost.org/trac10/ticket/3508#comment:5 <ul> <li><strong>cc</strong> <span class="trac-author">jan</span> <span class="trac-author">boehme@…</span> added </li> <li><strong>keywords</strong> coloring output added </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.43.0</span> → <span class="trac-field-new">Boost 1.47.0</span> </li> </ul> <p> What about this very nice feature? </p> <p> I'd like to see the target information colored too. Maybe a environment variable B(OOST)B(UILD)_COLORS to define the colors handy. </p> <p> Let me know if I can be of any support here. </p> Ticket Mateusz Loskot Mon, 02 Jan 2012 21:55:03 GMT <link>https://svn.boost.org/trac10/ticket/3508#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3508#comment:6</guid> <description> <p> I posted some ideas about implementation of <a class="ext-link" href="http://lists.boost.org/boost-build/2012/01/25582.php"><span class="icon">​</span>ECHO rule output in colours</a> to Boost.Build ml </p> </description> <category>Ticket</category> </item> <item> <author>Kohei Takahashi <flast@…></author> <pubDate>Thu, 09 Aug 2012 11:42:51 GMT</pubDate> <title>cc changed https://svn.boost.org/trac10/ticket/3508#comment:7 https://svn.boost.org/trac10/ticket/3508#comment:7 <ul> <li><strong>cc</strong> <span class="trac-author">flast@…</span> added </li> </ul> Ticket Mateusz Loskot Tue, 10 Dec 2013 23:27:54 GMT <link>https://svn.boost.org/trac10/ticket/3508#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3508#comment:8</guid> <description> <p> FYI, I have replace the idea of output colouring with a more feature-rich integration of Boost.Build with an IDE, so I went for <a class="ext-link" href="https://github.com/mloskot/qt-creator-plugin-boostbuild"><span class="icon">​</span>Boost.Build Plugin for Qt Creator</a>. Testers and contributors welcome! </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Mateusz Loskot</dc:creator> <pubDate>Tue, 21 Apr 2020 00:33:39 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3508#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3508#comment:9</guid> <description> <p> For records, I added an experimental support for colorful output to echo rule and actions in <a class="ext-link" href="https://github.com/boostorg/build/pull/573"><span class="icon">​</span>https://github.com/boostorg/build/pull/573</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>