[cmake-developers] Fwd: Re: Ninja keeps starting cmake

Bill Hoffman bill.hoffman at kitware.com
Tue Oct 29 11:58:32 EDT 2013


An issue came up on the ninja list.  Seems that the most recent version 
of cmake in some cases re-runs cmake every time in some cases on the 
Mac.  It seems to be related to app bundle creation.

Here is the information so far:


-------- Original Message --------
Subject: Re: Ninja keeps starting cmake
Date: Mon, 28 Oct 2013 09:12:18 +0100
From: Peter Kümmel <syntheticpp at gmx.net>
To: ninja-build at googlegroups.com

On 23.10.2013 22:49, Pierre-Nicolas Rigal wrote:
>
> $ ninja -d explain -v
> ninja explain: output build.ninja older than most recent input /Users/pnr/github/master-build/bin/xxx.app/Contents/MacOS
> (1382557340 vs 1382557345)

Looks like the file "MacOS" is generated after building build.ninja.
I assume it is also listed by "ninja -t query build.ninja".
Does the name look different to the existing path (final slash, quote, 
or something similar)?

I found this commit in cmake which has touched MacOS since 28.11:
https://github.com/Kitware/CMake/commit/483e208482ff46532e7ae48659e569580a88af9c


> [1/1] /usr/local/Cellar/cmake/2.8.12/bin/cmake -H/Users/pnr/github/master-B/Users/pnr/github/master-build
>
> and:
>
> [pnr at pnr master-build]$ ls -lT build.ninja
> -rw-r--r--  1 pnr  staff  4160361 23 oct 21:21:45 2013 build.ninja
> [pnr at pnr master-build]$ ls -lT /Users/pnr/github/master-build/bin/xxx.app/Contents/MacOS
> total 54432
> -rwxr-xr-x  1 pnr  staff  27866012 23 oct 21:21:49 2013 xxx
> [pnr at pnr master-build]$
>
> so it looks like one file is now built / created after build.ninja is getting updated.
>
> if I'm doing : ninja && touch build.ninja, it works as expected, i.e. superfast "nothing to rebuild" run.
>
> I tried the following:
>
> ninja -d explain && date
>
> I get: Mer 23 oct 2013 22:42:38 CEST
>
> and if I do at the same time sudo opensnoop -v -f build.ninja
>
> 2013 Oct 23 22:42:21   501  98860 ninja          3 build.ninja
>
> so the build ends at 22:42:38, but the last time buid.ninja has been openis at 22:42:21.
>
> Not sure how to force ninja to update build.ninja only at the end.
>
> Thanks & regards,
> pn
>
>
>
>
> Le mercredi 23 octobre 2013 21:16:59 UTC+2, Pierre-Nicolas Rigal a écrit :
>
>     Hello,
>
>     I just moved to OSX 10.9, and decided to upgrade my build box. I was using mac ports, but following some colleagues
>     advices, I moved to homebrew. Therefore I upgraded both cmake (2.8.12) and ninja ( moved to 1.4.0 ). After
>     struggling a bit with the changes introduced with XCode 5.0.1 and 10.9, I've now a running build system ( I'm using
>     Qt 4.8.5 + Qt Creator).
>
>     Everything seems to work fine, except that calling ninja will re-run cmake even if no there is no change in the
>     code, which leads to re-link all executables in my project ( including the 100+ unit tests...), which is a bit bad (
>     it takes 12 seconds using make, 25 using ninja...)
>
>     any idea about what could be the reason for this, or any hint on whatI could do to track what's going wrong ?
>
>     thanks in advance.
>     regards,
>     Pn
>
> --
> You received this message because you are subscribed to the Google Groups"ninja-build" group.
> To unsubscribe from this group and stop receiving emails from it, send anemail to ninja-build+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google 
Groups "ninja-build" group.
To unsubscribe from this group and stop receiving emails from it, send 
an email to ninja-build+unsubscribe at googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






More information about the cmake-developers mailing list