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

Alan W. Irwin irwin at beluga.phys.uvic.ca
Sat Oct 30 18:21:52 EDT 2010


On 2010-10-30 13:54+0200 Benjamin King wrote:

> 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.

If the above condition is met (no gratuitous changing of file dates
when copying source trees), then cmake configured builds are normally
very good about paying attention to target and file dependencies so
recompilations only occur for source code that has a later date than
the corresponding object code, for example.

To demonstrate this for yourself, run your configured build system
twice (e.g., run cmake-configured "make VERBOSE=1" twice) without
changing any source code file.  The second run should take essentially
no time at all.  Then touch one of your source code files and run make
a third time.  You should see only the object file corresponding to
that source code being rebuilt.

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