[RFC] Requiring CMake 2.6.3 or 2.6.4 for KDE 4.5

Alexander Neundorf neundorf at kde.org
Mon Apr 12 19:51:09 CEST 2010


Hi,

I guess you saw the poll: http://www.kdedevelopers.org/node/4198
There are 410 votes now, so the result is stable.

And it is also quite clear: around 95% of the voters are using CMake >= 2.6.4.

Currently we still require CMake 2.6.2.
Requiring at least 2.6.3 would make our life a bit easier, without causing a 
lot of trouble.
From my POV, the two big things requiring 2.6.3 would bring are :

1.) use of braces in if() statements:
  if(FOO  AND ( BAR OR BLAH) )
This is a nice thing and already appears from time to time in patches which 
have to be fixed currently then.

2.) find_package() now also looks in lib/cmake/<package>/ for FooConfig.cmake 
files, additionally to lib/<package>/cmake/, which is the place where it 
looks in 2.6.0..2.6.2

The second point is the bigger one, since other software packages are starting 
to install FooConfig.cmake files, and if they chose to install to the 2.6.3 
location, we have to do some extra work to find them (as we do e.g. in 
kdelibs/cmake/modules/FindSharedDesktopOntologies.cmake).


So, these are the two main points, which are not really major issues, but 
mainly they cause work. Upgrading the required cmake version to 2.6.3 would 
avoid this, and according to the poll less than 10% of our developers would 
have to update their cmake.


How about requiring 2.6.4 ?
Only a tiny 1% seems to be using 2.6.3, so only they would be affected.
OTOH, 2.6.4 doesn't bring us much compared to 2.6.3 
(http://www.cmake.org/files/v2.6/CMakeChangeLog-2.6.4). The only thing I am 
aware of which is of real interest for us is this one 
http://public.kitware.com/Bug/view.php?id=8843 , which is a fix for imported 
targets (which we are using), which are included not in the toplevel 
directory (I'm not aware that somebody in KDE actually hit that issue).

So, opinions ?

I want this upgrade to be a unobstrusive upgrade, meaning, there shouldn't be 
much trouble for anybody, or complaints like "I have to update my cmake 
constantly !".


At some point I'd like to require CMake 2.8.x, because it has some nice 
things, as far as I can currently see mainly for testing etc., comboboxes in 
cmake-gui, parallel testing, ...
But this is IMO not worth the effort to force 2.8.1 now on 50% of our 
developers.

For the KDE 4.6 cycle, maybe we'll require CMake 2.8.2 or 2.8.3. I think we'll 
need some new feature in cmake for fine grained success reporting in nightly 
builds of KDE modules. Probably also git support. This would be a big 
upgrade, and I don't want to do that too often, so only if it is really 
necessary.

Opinions ?

Alex


More information about the Kde-buildsystem mailing list