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 <syntheti...@gmx.net>
To: ninja-bu...@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@pnr master-build]$ ls -lT build.ninja
-rw-r--r-- 1 pnr staff 4160361 23 oct 21:21:45 2013 build.ninja
[pnr@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@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
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