Death to autotools, long live cmake!

Written for showeq by Bob Tanner on 2008-11-05

Threw out autotools in frustration. Building showeq via cmake. Details below. My QQ story at the end.

sf.net stability really ticks me off, so I host the cmake build code on launchpad. The choice of launchpad forces(?) you to use bzr.

So I took svn trunk, created a bzr branch, did all my cmake work on the bzr branch. I can easiliy diff and submit patches against svn if it's decided to move to cmake builds.

Showeq cmake code, instructions how to download it, whiteboard, and revision history:
https://code.launchpad.net/~showeq-team/showeq/cmake

Bugs:
https://bugs.launchpad.net/showeq

Please do not bother the upstream developers with issues on this branch. Use the above bug tracker and I'll work the problems I can and will push issues to upstream that aren't related to the cmake build.

Answer (FAQ):
https://answers.launchpad.net/showeq

QQ Story

I tried to clean up autotools but always ended up with 2 different versions of the build files.

In my particular case, 1 set macros for "older" autotool for Ubuntu hardy and another set for Ubuntu interpid. Debian wasn't as bad, but I had to tweak between Etch and Lenny.

I stepped out of the .deb world and into .rpm land with CentOS-5 and more tweaks. EL5 was the same as CentOS5 (good job CentOS people!)

Left Linux land and tried FreeBSD. It's in FreeBSD-land where I really started to understood how terrible the autotools are to maintain (or how terrible they are in showeq to maintain :-) ) for a cross-operating system project.

The "autotool problem" is not a problem that is unique to showeq, so I looked around other QT/KDE projects and found cmake. Used by the KDE team. I started the work to get things to compile under cmake.

Did not take long to get things converted over to cmake. Hardest part was the whole .moc, uic, include stuff.

Happy to say -one- set of cmake configuration files builds (no tweaks!) on:

Debian - Etch
Debian - Lenny
Ubuntu - Hardy
Ubuntu - Intrepid
CentOS - 5
Enterprises Linux 5
FreeBSD 7

Read more

Read all announcements