[CMake] Converting a large C++-Project to CMake

Alan W. Irwin irwin at beluga.phys.uvic.ca
Sun Oct 31 12:48:17 EDT 2010


On 2010-10-31 13:48+0100 Benjamin King wrote:

> Hi Alan!
>
>>> 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.
>> 
>> Aren't you distributing your source code with some tool that preserves
>> the creation dates of source files? I think all of svn, rsync, tar, or
>> even cp -a do this.
> Yes, we do use cvs and copy build trees with rsync -a/cp -a.
>
> The problem is that because our builds take that long, nobody does a global 
> cvs update very often, but rather only on the parts he is working on.
>
> It's user nightly that does an automated fresh checkout every night and sees 
> if everything is fitting together and passes the tests. That makes it more 
> attractive to copy the nightly build to continue your own work, because there 
> is some guarantee that it builds, passes the tests and incorporated the stuff 
> from the other teams.
>

Hi Benjamin:

This sounds like you are describing dependency problems with your
current build system. That should be a prime motivation to implement a
complete CMake-based build system which allows you to specify all
dependencies between your software components with no gratuitious
rebuilding. With a properly implemented complete CMake-based build
system, your users would be controlling what gets rebuilt in a
flexible way depending on what they choose to cvs update.  That is the
ideal result and therefore a great selling point for CMake-based build
systems.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list