[CMake] CMake and user friendliness

Drew DeVault sircmpwn at gmail.com
Sun Sep 21 16:18:53 EDT 2014


Apologies, this email got sent early after my fingers slipped on the
keys. Here's the full text:

I've been using cmake for a few months now, and I wanted to provide some
feedback compared to autotools.

First of all, from a developer perspective, I love cmake. It's much,
much better than autohell and I really appreciate it.

However, from a user perspective (i.e. someone compiling and installing
software), autotools is much, much better. Compare this:

./configure --enable-sdl --disable-readline

To this:

cmake -DENABLE_SDL=No -DENABLE_READLINE=No .

And figuring out how the configuration works is a pain, too. Compare this:

$ ./configure --help
...
Optional Features:
  --enable-sdl		enables the SDL frontend
  --disable-readline	disables the readline frontend
...

to this:

$ cmake -LH
// Enables the SDL frontend
enable-sdl:BOOL=NO

// Enables the readline frontend
enable-readline:BOOL=YES

With the autotools version, you immediately know what to do if you want
to enable the SDL frontend. With the cmake version, you have to read the
man pages to figure out how to set variables (-D).

Overall, autotools is a lot more intuitive for users, and cmake for
developers. As a developer, I prefer cmake for that reason, but can we
work on improving cmake for users? I don't understand why I couldn't be
able to do this:

cmake --enable-sdl .

--
Drew DeVault


More information about the CMake mailing list