
KDE is
ditching the GNU autotools for development and building of their next version, KDE 4. Its replacement is
CMake, developed by
Kitware. Alexander Neundorf
explains the choice in favor of CMake was mainly due to its support for all platforms KDE4 is meant to run on: Linux, BSD, Mac OS X, Solaris, and even Windows. CMake generates specific command files for each of the 'native' build tools from one common source: Makefiles (for GNU make) or project files (for XCode on OS X, for MS Visual Studio, for KDevelop3). Current KDE 4 modules already build (with CMake) on more platforms than KDE 3 with autotools ever did, with full configure checking on all platforms and all compilers/IDEs. Scribus is
now also moving to CMake.
Member since:
2005-11-14
I would be very surprised if they didn't consider packaging when they decided to switch
Be surprised then ! It seems they didn't. When asked how someone can tweak the build to make it work on their system or for adaptation, they evade the question.
It seems it will be harder than with autotools.
I made a small KDE project and i doubt i would ever have gotten it to work had i not taken an existing setup and tweaked it, so i think replacing the autotools with something simpler is a very big step ahead
You should just have used the KDE IDE (forgot the name, sorry).
I'm a developer, time spent fiddling with the build system is time wasted, and learning arcane things that is useless out of autotools land seems pretty wasteful to me too
Depends on what you want to do. If you just want to make your own project you're right. As soon as you want to deploy your project, and assure it will work on many different architectures on POSIX (or sort of) OS, then this time spent is everything but a waste. The small learning curve then allow you to deploy your project easily.
If CMake prooves difficult to work with for packagers then i see no reason why they wouldn't work with the packagers to fix that, just like they worked with the KDE developers
That's one of the benefit of CMake. But I see CMake like a big regression from autotools. That's also one more compilation system to install on your OS.
I don't care as long as I never have to tweak the build system to make a KDE build work. But I have high doubt it will be the case.
IMHO, all this chatter is just to drown readers in sugar coat, to not make them see the true reasons behind the move.
To me, the real reasons behind this move are :
- It produces files for Apple and MS Windows build systems, which is not a goal of autotools. Nothing bad with that, except that it means now, that these requirements force a big overhaul on the project, while some KDE devs and fans assured us that Windows support would not impede development of the main free platforms.
- CMake is written in C++. KDE coders are familiar with C++. Perhaps they didn't realise it, and didn't choose it knowingly for that.
- The myth that autotools is hard, like explained in the article, may be too hard to overcome. In case of KDE, it's specially harder because of more hooks caused by moc and friends.