[cmake-developers] Ninja: files per second
I've added a nice feature to ninja which is now upstream: By setting the environment variable NINJA_STATUS bash: export NINJA_STATUS=[%s/%t %o(%c)/s] cmd.exe (with space at the end): set NINJA_STATUS=[%s/%t %o(%c)/s] Ninja prints the overall processed files per second and the the current rate of files per second (averaged over the last -j files). For instance compiling cmake I get (-DCMAKE_BUILD_TYPE=Release): - Linux gcc 4.6: [397/397 6.6(12)/s] - Windows gcc 4.7: [438/438 5.9(11)/s] - Mac gcc 4.2: [462/462 4.9(3)/s] See also https://github.com/martine/ninja/blob/master/doc/manual.asciidoc#environment-variables Happy benchmarking, Peter -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja: files per second
Hi Peter, thanks for your work on Ninja. On Sat, 28 Jul 2012 10:57:44 +0200 Peter Kümmel syntheti...@gmx.net wrote: I've added a nice feature to ninja which is now upstream: By setting the environment variable NINJA_STATUS bash: export NINJA_STATUS=[%s/%t %o(%c)/s] cmd.exe (with space at the end): set NINJA_STATUS=[%s/%t %o(%c)/s] Ninja prints the overall processed files per second and the the current rate of files per second (averaged over the last -j files). For instance compiling cmake I get (-DCMAKE_BUILD_TYPE=Release): - Linux gcc 4.6: [397/397 6.6(12)/s] - Windows gcc 4.7: [438/438 5.9(11)/s] - Mac gcc 4.2: [462/462 4.9(3)/s] Nice. I was now able to get the Freecell Solver test suite to pass with ninja test, but there is one problem: when I run ninja -vv test, then ninja displays the line [1/1] cd /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/n perl /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/run-tests.pl and then it waits for the entire test suite to run, and only then displays its output. This is frustrating because I want to see the output while the test suite is running. Is there anyway to do it like that? Regards, Shlomi Fish See also https://github.com/martine/ninja/blob/master/doc/manual.asciidoc#environment-variables Happy benchmarking, Peter -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- - Shlomi Fish http://www.shlomifish.org/ List of Portability Libraries - http://shlom.in/port-libs * Backward compatibility is your worst enemy. * Backward compatibility is your users’ best friend. Please reply to list if it's a mailing list post - http://shlom.in/reply . -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Use OBJECT_DEPENDS in qt4_generate_moc() ?
On Friday 27 July 2012, David Cole wrote: On Fri, Jul 27, 2012 at 4:27 PM, Alexander Neundorf neund...@kde.org wrote: On Thursday 05 July 2012, David Cole wrote: On Thu, Jul 5, 2012 at 12:29 PM, Clinton Stimpson clin...@elemtech.com wrote: On Thursday, July 05, 2012 06:20:56 PM Alexander Neundorf wrote: On Thursday, 5. July 2012 17:37:21 Clinton Stimpson wrote: On Friday, June 15, 2012 09:56:51 PM Alexander Neundorf wrote: Hi, attached is a small patch which sets the OBJECT_DEPENDS property of a moced file to the generated moc file. This has the effect that before the cpp file is built, moc has been run on it. We have that in KDE's version of qt4_generate_moc() this way since 2006 and it works for us. In cmake's version, it was removed January 11th 2008, the removed call to MACRO_ADD_FILE_DEPENDENCIES(): http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=510f578f8b5385 8fb b541c 4e7 e4731de9bfbd483 Now since we are trying to get rid of our custom stuff in KDE, we hit that issue when trying to build parts of KDE with FindQt4.cmake from cmake. Do you remember why this line was removed ? What do you think about adding it again, as the attached patch does ? Alex It was probably removed because I thought add_custom_command() already added the needed dependency information. It should already have this: mocable.h - moc_mocable.cpp - moc_mocable.o This works if the generated moc file is listed as source file for a target. In several places we did not do this, and relied instead on the OBJECT_DEPENDS. Ahh, this was in places where the moc file is generated from a cpp file, which includes the moc file. In those cases the OBJECT_DEPENDS makes it work. We fixed this in the meantime by adding the generated moc file to the source list (which is not too bad, since the developer explicitely names the moc file, so it is ok). So, I would like to have that dependency, but I'm unsure whether it might have any unwanted side effects. Ah, so for the case mocable.h - mocable.moc - mocable.cpp (includes mocable.moc) the mocable.moc is not listed in the sources of the target. I can't think of any possible unwanted side effects. I agree that we need to have this patch. -- Clinton Stimpson Elemental Technologies, Inc Computational Simulation Software, LLC www.csimsoft.com -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers If somebody pushes this to 'next' today or tomorrow, I'll make sure we can get it into 2.8.9-rc2. Too late now for 2.8.9 ? Alex Unless you tell me it's absolutely critical, and the fix is 99.% safe, then, yes, it's too late. But 2.8.10 is right around the corner if you adopt the right viewpoint. :-) Ok, this can wait until 2.8.10. Can the branch EclipseAddSupportForJuno still make it into 2.8.9 ? It improves the Eclipse generator by adding support for Eclipse Juno (the most recent one) and improves behaviour on Mac, and it should be completely safe. Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja: files per second
On 28.07.2012 11:43, Shlomi Fish wrote: Nice. I was now able to get the Freecell Solver test suite to pass with ninja test, but there is one problem: when I run ninja -vv test, then ninja displays the line [1/1] cd /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/n perl /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/run-tests.pl and then it waits for the entire test suite to run, and only then displays its output. This is frustrating because I want to see the output while the test suite is running. Is there anyway to do it like that? No, this is by design, ninja collects the whole output so it is not interweaved with the output of other processes. Peter -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] [CMake] Ninja: files per second
On Sat, Jul 28, 2012 at 11:43 AM, Shlomi Fish shlo...@shlomifish.orgwrote: [...] I was now able to get the Freecell Solver test suite to pass with ninja test, but there is one problem: when I run ninja -vv test, then ninja displays the line [1/1] cd /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/n perl /home/shlomif/progs/freecell/git/fc-solve/fc-solve/source/ run-tests.pl and then it waits for the entire test suite to run, and only then displays its output. This is frustrating because I want to see the output while the test suite is running. Is there anyway to do it like that? Hi Shlomi, I have sent a pull request that should address your issue and initiated the discussion here: https://groups.google.com/forum/?hl=enfromgroups#!topic/ninja-build/_xvapjxWDig. Vote for it :) Here the required patches for CMake: https://github.com/polrop/CMake/commits/ninja/flush_long_output https://github.com/polrop/CMake/commit/a757a6518868b09c5beb1ef591430b8c5d50bd59 Cheers, Nico -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers