LWN: Comments on "Why the KDE project switched to CMake -- and how (continued)" https://lwn.net/Articles/188693/ This is a special feed containing comments posted to the individual LWN article titled "Why the KDE project switched to CMake -- and how (continued)". en-us Sat, 30 Aug 2025 00:59:15 +0000 Sat, 30 Aug 2025 00:59:15 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/340851/ https://lwn.net/Articles/340851/ halla <div class="FormattedComment"> Was it around, stable and mature in 2005? Were there people in 2005 who<br> were prepared to work the KDE community to remedy any deficiencies? (Note:<br> the scons project wasn't prepared to cooperate with KDE, even though that<br> was the original choice.)<br> <p> In the end, that's all to the good because CMake is really excellent.<br> </div> Fri, 10 Jul 2009 11:17:27 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/340845/ https://lwn.net/Articles/340845/ arnuld_uttre <div class="FormattedComment"> <font class="QuotedText">&gt; Posted Jun 22, 2006 10:41 UTC (Thu) by aleXXX (subscriber, #2742)</font><br> <font class="QuotedText">&gt; Today KDE 4 builds with cmake on more platforms than </font><br> <font class="QuotedText">&gt; KDE 3 with autotools ever did, with full configure </font><br> <font class="QuotedText">&gt; checking on all platforms and all compilers/IDEs.</font><br> <p> I read your whole article and the *aloud message* I got was very few KDS developers are familiar with autotools, rather than autotools are not competitive to scons or cmake. And those developers are not willing to learn autotools.<br> <p> <br> </div> Fri, 10 Jul 2009 10:05:22 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/340843/ https://lwn.net/Articles/340843/ arnuld_uttre I wonder why KDE team did not try <a rel="nofollow" href="http://code.google.com/p/waf/"> waf </a> Fri, 10 Jul 2009 10:00:53 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/190251/ https://lwn.net/Articles/190251/ zlynx For a project like KDE, the amount of changes needed in the KDE code itself to port to a platform like AIX dwarfs the amount of code changes needed to make CMake run on that platform. So if it makes work easier on the common platforms, it is a better deal, and ports can still be done by porting CMake first.<br> <p> As for autotools I have never seen them be that useful in porting. Sure, autotools may run on all sorts of systems but nothing out there tells you what autotools tests and variables your code needs to be checking for portability.<br> <p> For example, assuming select() returns the remaining time from a timeout. If you develop on Linux and rely on that feature, then port to another Unix, autotools may have a test to detect that for you but you have to try the port and find the problem first before you even know you need it.<br> Thu, 06 Jul 2006 01:44:41 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/190236/ https://lwn.net/Articles/190236/ emptty I am wondering about the availability of the cmake tool itself. The nice thing about autotools is that they generate plainly portable shell script. I agree that it does not solve the portability to windows and macosx well, but to port software to some exotic platform like AIX or simply solaris, it is precious.<br> <p> I'm not denigrating cmake here, I just want to see if this tool is adapted to my own need.<br> Wed, 05 Jul 2006 22:23:04 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/189019/ https://lwn.net/Articles/189019/ nix Mozilla, Python, GCC, Emacs, XEmacs... the list is long.<br> <p> A brief scan of the packages I have unpacked here reveals 1319 using Autoconf, of which 835 use Automake.<br> Fri, 23 Jun 2006 20:13:40 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188935/ https://lwn.net/Articles/188935/ jamesh Some prominent ones that come to mind are Mozilla and Python. There are others, but autoconf is definitely used in more projects than automake (which is no surprise since automake requires autoconf but not vice versa).<br> Fri, 23 Jun 2006 03:54:48 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188821/ https://lwn.net/Articles/188821/ aleXXX I'm not sure there are many projects using autoconf together with <br> handwritten makefiles without automake and libtool. <br> CMake has compared to autoconf alone e.g. the advantage that it also <br> supports MSVC under Windows and that it can not only generate Makefiles, <br> but also project files (Xcode, MSVC, KDevelop3), which you cannot achieve <br> with handwritten makefiles. <br> <br> Alex <br> <br> Thu, 22 Jun 2006 14:11:10 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188806/ https://lwn.net/Articles/188806/ akumria <font class="QuotedText">&gt; Today KDE 4 builds with cmake on more platforms than KDE 3 with autotools</font><br> <font class="QuotedText">&gt; ever did, with full configure checking on all platforms and all</font><br> <font class="QuotedText">&gt; compilers/IDEs. </font><br> <p> autotools = automake + libtool + autoconf<br> <p> What both the two previous posters were pointing out is that if you project is just using autoconf there may not be the same benefit in switching to cmake.<br> <p> <p> Thu, 22 Jun 2006 12:36:02 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188790/ https://lwn.net/Articles/188790/ aleXXX <font class="QuotedText">&gt; Plus, of course, package vendors will kill you unless the generated </font><br> <font class="QuotedText">&gt; makefiles support at least prefix= or DESTDIR= </font><br> <br> DESTDIR is supported. <br> <br> <font class="QuotedText">&gt; Replacing Autoconf at least strikes me as a seriously retrograde step </font><br> <font class="QuotedText">&gt; unless you don't care about portability: and I *know* that isn't true </font><br> <font class="QuotedText">&gt; for KDE. </font><br> <br> Today KDE 4 builds with cmake on more platforms than KDE 3 with autotools <br> ever did, with full configure checking on all platforms and all <br> compilers/IDEs. <br> <br> Alex <br> <br> Thu, 22 Jun 2006 10:41:23 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188788/ https://lwn.net/Articles/188788/ aleXXX Yes, CMake replaces all three of them. <br> It will create the Makefiles for you (... and project files if you want <br> to). <br> <br> Alex <br> <br> Thu, 22 Jun 2006 10:35:40 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188786/ https://lwn.net/Articles/188786/ nix One problem with a lot of alternative build system is that autoconf and automake permit substantial end-user adjustment. (Personally I have a rather elaborate config.site setting up compiler and linker options for different systems; embedded hackers tend to have even more elaborate config.site's). Most alternative build systems throw all of that away and provide very little alternative (I remember trying to get Jam to allow user-specified CFLAGS with horror).<br> <p> Autoconf also embodies a lot of 'ancient wisdom' about detection of features available on all sorts of systems. I haven't found *any* other build systems that come close.<br> <p> Plus, of course, package vendors will kill you unless the generated makefiles support at least prefix= or DESTDIR=.<br> <p> Replacing Autoconf at least strikes me as a seriously retrograde step unless you don't care about portability: and I *know* that isn't true for KDE.<br> Thu, 22 Jun 2006 09:46:03 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188785/ https://lwn.net/Articles/188785/ kleptog I don't know about happy. I was just trying to clarify that a project using only autoconf but not automake would have to switch to CMake generated makefiles instead their own. That is, in CMake the configure step cannot be seperated from the automake step.<br> <p> I'm just asking because while I'm not a great fan of autoconf, I'd only replace it with something that would let me keep my hand created makefiles.<br> Thu, 22 Jun 2006 09:40:36 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188780/ https://lwn.net/Articles/188780/ aleXXX For everybody who is happy with autotools there is no reason to switch, <br> for everybody else CMake is an alternative. <br> <br> Alex <br> <br> Thu, 22 Jun 2006 09:23:39 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188778/ https://lwn.net/Articles/188778/ kleptog I can see the benefits of tossing automake and libtool, but there are plenty of projects out there that use autoconf for configuration and standard makefiles for the building. I've looked at the website but I don't think CMake can provide much benefit for these projects.<br> <p> Nice article though.<br> Thu, 22 Jun 2006 09:20:53 +0000 Why the KDE project switched to CMake -- and how (continued) https://lwn.net/Articles/188760/ https://lwn.net/Articles/188760/ cventers Nice read!<br> Thu, 22 Jun 2006 07:05:15 +0000