[CMake] Converting a large C++-Project to CMake
Benjamin King
benjaminking at web.de
Sun Oct 31 08:42:52 EDT 2010
Hi Andreas!
>> Our build is taking ages (almost a three hours on the fastest of our
>> servers) and it would be really painful if everybody needed to rebuild
>> everything for himself in the morning.
> 3 hours sounds quite excessively long.
Yepp, that's too long, really. Thanks for your suggestions on cutting
that down. We have tried a lot of them already, but there simply is no
short-term solution to make the separation of the modules clearer.
Always working on adding features, never time to refactor, meta template
programming all over the place. Same old, same old...
Our windows release build and packaging takes almost 8 hours (on a
virtual machine), which makes a quick fix of a bug reported by our test
team effectively impossible.
Using parallel compilation on multiple cores and/or machines would make
things easier for us. With linux, we are using distcc and make -jX. The
trouble with that is, that the Makefiles generated by qmake don't deal
well with generated code which we also use a lot. You have to restart
make a few times to keep things going, which is not practical for an
automated build and package script.
Windows and nmake don't offer any feasible way to parallelize, so we are
stuck there.
Maybe cmakes VS-Project output could improve the latter and cmake custom
command the former.
>> According to the FAQ, CMake does not support copying build trees around.
> Yep, and I'd think that that's a pretty hard condition.
> One really shouldn't try to bend things to work with specific build tree
> data on multiple machines I'd think. That's just not the way that CMake
> is supposed to be used.
Understood, but we do not copy the tree to different machines, just from
/home/nightly to /home/developer1, /home/developer2 etc on the same machine.
Anyway, thanks for your impression on the situation!
Cheers,
Benjamin
More information about the CMake
mailing list