[CMake] Ninja fails, Make succeeds...
Mikael Lyngvig
mikael at lyngvig.org
Tue Jun 26 18:30:30 EDT 2012
No, I delete the entire build tree (I build out of the source tree, btw).
The procedure is as follows:
rem foo contains the source code
md foo-build
cd foo-build
cmake -G Ninja ..\foo
ninja
rem fails as described earlier
cd ..
rd /s /q foo-build
md foo-build
cd foo-build
cmake -G "MinGW Makefiles" ..\foo
make
rem succeeds as described earlier
Thank you for your reply. If you need source, I can send you a zip archive
as it is an incomplete open source project.
Cheers,
Mikael
2012/6/27 David Cole <david.cole at kitware.com>
> You can't switch generators in the same build tree without deleting
> absolutely everything and starting over.
>
> Is that what you're trying to do?
>
> If you want a make build tree and a ninja build tree, you'll need two
> separate build trees....
>
>
> HTH,
> David
>
>
> On Tue, Jun 26, 2012 at 4:45 PM, Mikael Lyngvig <mikael at lyngvig.org>
> wrote:
> > Hi,
> >
> > I am a fan of Ninja. Since I started using it, everything's been built
> > much, much faster than before. Among other things because I use CMake to
> > publish headers to the binary directory so as to allow me to include the
> > headers with a relative path without having to move all my headers to a
> > central include directory (I want my source files and headers to be in
> the
> > same directory). Ninja does this very fast, whereas GNU Make takes
> forever
> > to publish my header files.
> >
> > However, I have a puzzling problem: Out of the blue, Ninja started
> failing
> > to build my project. If I remake the project with 'cmake -G "MinGW
> > Makefiles"', it takes ages to build but it succeeds. If I do 'cmake -G
> > Ninja', it quickly aborts because it seems that either CMake or Ninja
> wants
> > to build one of the last targets at a very early point in the build
> phase.
> > I have an executable, driver.exe, which is supposed to be built as the
> very
> > last item. With Ninja, however, it pops up around 20 percent into the
> build
> > and the build fails because the dependent libraries are nowhere to be
> found
> > (they haven't been built yet). I have tried clearing the binaries
> directory
> > (rd /s /q foo & md foo) and so on a number of times, but Ninja insists on
> > trying to build this final executable at a very early stage.
> >
> > Any ideas? I suppose the problem is caused by one of these three things:
> >
> > 1. An error on my part. Very likely.
> > 2. An error in CMake's generation of Ninja scripts. Not unlikely due
> to
> > the still fairly immature support for Ninja.
> > 3. An error in Ninja. Highly unlikely as Ninja builds tons and tons
> of
> > projects all over the world each day and nobody seem to have run into
> this
> > problem before.
> >
> > How do you locate the problem?
> >
> > Thanks in advance!
> >
> >
> > Cheers,
> > Mikael
> > -- Love Thy Frog!
> >
> > --
> >
> > 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://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120627/1a5ed298/attachment-0001.htm>
More information about the CMake
mailing list