[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