CMake (was More about x-packages)

Alan W. Irwin irwin at beluga.phys.uvic.ca
Fri Dec 21 10:29:26 PST 2007


On 2007-12-21 03:17-0200 pcpa at mandriva.com.br wrote:

> I am not sure if people would want to switch to cmake at this point.

I can assure you that at first most will not.  :-) Developers tend to be
scared of changes to the build system for their software.  But worrying
about that is premature. What you first need is a proof of concept.  IOW,
some motivated individual who builds X a lot could try CMake for himself to
build some essential part of X to see how suitable it is for their own
private X build needs.  It is easy to try such proofs of concept because (a)
CMake syntax is dead easy to understand, and (b) CMake and autotools files
can peacefully coexist in the same source tree since there are no name
clashes between them.  If the proof of concept shows big promise (and I
suspect it will), then others will want to join that developer in using
and developing a CMake-based build system.

That's exactly what happened in the PLplot case. After reading about the KDE
success with CMake, I tried such a proof of concept for PLplot (just
building our core plotting library and nothing else) out of curiosity.  The
proof of concept verified everything claimed for the KDE case; it gave a
faster build with a much easier to understand build system compared to the
equivalent autotools build. Therefore, I started expanding that proof of
concept even though I was one of the autotools "gurus" for PLplot.  Soon,
other Plplot developers started helping me.  PLplot has a relatively complex
build with many internal components (various computer language bindings to
our core C library, a complete test example suite for each computer
language, many plot device dynamically loaded plug-ins, and a docbook-based
documentation system) and many external library dependencies of those
internal components.  Despite this build complexity, within a relatively
short time we had a complete CMake-based build system for PLplot that worked
on Linux. Mac OS X, and windows (Cygwin, MinGW, and "bare" windows) success
soon followed.  (We have received no complaints from the *BSD packagers of
PLplot so I assume it works there as well.) That build system peacefully
coexisted with our autotools-based build system for a year and a half until
we killed off the latter due to lack of interest. Our only big regret about
the whole business was we didn't switch PLplot to CMake sooner.

My only interest in X is as (an appreciative) user and bug reporter, and I
have no deep understanding of the current X build.  So I am not the guy to
put together a CMake-based build system for X.  However, if some X developer
is interested, I have a lot of CMake experience I would be willing to share
to help them get started or to overcome any problems they encounter.

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 xorg mailing list