Strategy for choosing a build system

Brad King brad.king at kitware.com
Sat Feb 4 16:05:03 CET 2006


David Faure wrote:
> It seems to me that the general consensus is that
> - cmake is much more mature at this point
> - bksys will give a much nicer solution in the end
> (most KDE developers prefer an object-oriented syntax, and an all-in-one 
> solution over generating Makefiles).
> 
> So it's a choice between "the solution that delivers the fastest"
> and "the nicest solution which we have to wait a bit more for, but which we'll
> be happy to use for years to come".

Another criterion to consider is integration of the build system with 
the rest of the software process.  CMake comes with the tool "ctest" 
which supports batch running of tests in the build tree defined by 
"add_test" commands in the CMake code.  The test results may be 
presented immediately to the user or submitted to a "dashboard" along 
with configure and build stage results.  See these for examples:

http://public.kitware.com/KDE/Testing/Dashboard/MostRecentResults-Nightly/Dashboard.html
http://www.cmake.org/Testing/Dashboard/MostRecentResults-Nightly/Dashboard.html
http://www.cs.rpi.edu/research/groups/vision/vxl/Testing/Dashboard/MostRecentResults-Nightly/Dashboard.html

These dashboards collect results from machines all over the world that 
run nightly builds of the corresponding software on a wide variety of 
platforms.  It also supports "continuous" builds that incrementally 
rebuild whenever a change is made and sends email to people that break 
something.  One may also submit an "experimental" build that optionally 
includes locally modified files to test changes before committing them.

See this page for details on the dashboard tool itself:

http://public.kitware.com/Dart/HTML/Index.shtml

-Brad


More information about the Kde-buildsystem mailing list