Linked by Eugenia Loli on Fri 23rd Feb 2007 02:49 UTC, submitted by ronaldst
KDE When a project with the size and scope of KDE gets to be as big as it is, sometimes changing a decision established almost a decade earlier is very difficult. KDE has relied on autotools to build most of the project since its inception, but for the last year, KDE 4 has been building with CMake, a newer build system that is rapidly becoming a heavyweight contender. Read on for more.
Thread beginning with comment 215861
To read all comments associated with this story, please click here.
autohell
by Redeeman on Fri 23rd Feb 2007 12:13 UTC
Redeeman
Member since:
2006-03-23

i have also tried using autotools and cmake, both in kdevelop and outside, and i must say, i NEVER had anything but trouble trying to manage autotools, hell, i gave up, its a freaking mess, i simply found it MUCH more managable to have a build bash script, where i wrote it all manually, it worked, was fast, and i could do that. since then i have been testing cmake, and it really just works, it also adds nice progress showing to the build process ;) not required, but nice nonetheless.

Reply Score: 2

RE: autohell
by load_mic on Fri 23rd Feb 2007 13:30 in reply to "autohell"
load_mic Member since:
2005-12-13

I'm glad to see I'm not the only one cursing automake.

Reply Parent Score: 1

RE[2]: autohell
by panzi on Fri 23rd Feb 2007 13:47 in reply to "RE: autohell"
panzi Member since:
2006-01-22

Well, maybe the maturity is still using autotools, but I think the maturity is also cursing autotools. ;)

Btw.: There are computer science professors (Technical University Vienna) who insist that their students have to use autotools, just because they never heard of anything else! And I'm thinking of a particular professor who isn't that old that he could have lost touch which the current world of computer science. I think the new systems like scons[1], waf[2] and cmake[3] need more media attention!

Apropos: A comparison article between scons, waf and cmake (and maybe autotools) would be a very nice thing.

[1] http://scons.org/
[2] http://www.freehackers.org/~tnagy/bksys.html
[3] http://www.cmake.org/HTML/Index.html

Reply Parent Score: 3

RE: autohell
by crystall on Fri 23rd Feb 2007 13:54 in reply to "autohell"
crystall Member since:
2007-02-06

autotools are fairly hard to use but the real problem for me was the horrible lack of documentation for newbies. Now I'm quite familiar with them and I have even used many of the advanced features they offer but this has costed me a lot of time reading info files and even peeking into autoconf's sources. CMake looks way easier to learn and as a plus can be used in already 'autotoolized' projects without disrupting the existing infrastructure. However not being too familiar with it I wonder if it offers all the most advanced features of the autotools.

Reply Parent Score: 2

RE[2]: autohell
by Ookaze on Fri 23rd Feb 2007 15:52 in reply to "RE: autohell"
Ookaze Member since:
2005-11-14

Autotools are actually fairly easy to use. What is hard, as always, is to grasp how it works. And there is plenty of documentation and tutorial for that.
The hardest part, is actually to find these tutorials, for beginners. They should be linked directly on the automake and autoconf pages. Only the general documentation is, and that's not what you want.
The hardest part of autotools must be m4, which is a new macro description language you have to learn.
I find autotools are still better than CMake, for the few things I know about CMake.
Basically, CMake was no better than autotools for KDE, but contrary to autotools makers, CMake makers had time to listen to KDE devs, and helped them.
You won't see that from autotools makers, as autotools are already well established.

Also, I see some KDE devs are still dishonest at best. Because the main reason for CMake, is actually that it can make project files for MacOS, Visual Studio and specific Kdevelop ones too. Of course, it would be harder with autotools, which is not made for that, AT ALL.
Also, it is not made to scale to KDE kind of projects, which is basically an archive containing several projects, and you must be able to compile selectively one or several of them.

This article is completely dishonest too, as the toolchain for cmake also includes sh and perl, and the one for autotools doesn't require automake, autoconf or m4. That's a pure lie. A project made with autotools shouldn't need anything more than sh, libtool and make to build : that's its purpose, and that's why it's slow !

Reply Parent Score: 1