14 Apr 21:00
[ANNOUNCE] CMake 2.6.4 will be required for trunk/ May 1st
Alexander Neundorf <neundorf <at> kde.org>
2010-04-14 19:00:50 GMT
2010-04-14 19:00:50 GMT
Hi, after a short discussion on kde-buildsystem we decided that starting May 1st CMake 2.6.4 will be required to build KDE trunk/, i.e. what will become KDE 4.5. So, you have now two weeks time to update to at least 2.6.4 in case you are still using CMake 2.6.2 or 2.6.3. Why do we raise the required version ? Well, there are two things in CMake 2.6.3 which will become more and more important the more projects are using CMake to install their libs, and we need 2.6.3 in order to be compatible with them. They are 1) The main thing: the find_package() command in CMake 2.6.3 additionally searches in lib/cmake/Foo/ for installed FooConfig.cmake files, while CMake 2.6.0..2.6.2 only look in lib/Foo/cmake/. So to be able to successfully "find" those files installed to the 2.6.3-compatible location currently we need some more manual work, as we do e.g. with FindSharedDesktopOntologies.cmake. This works, but the more libraries we use which do this, the more often we will run into this issue. By requiring CMake 2.6.4 it will just work and so safe us work. 2) Also new in CMake 2.6.3 was the feature to use parenthesis in if()-statements, so you can do now if(FOO AND (BAR OR BLAH)) While we could ensure that we don't get such code in KDE trunk/, we cannot do anything about this in installed FooConfig.cmake files (see above) which we may need to use. So this is also for compatibility and also for your convenienceThese two features of CMake 2.6.3 are the reason to require CMake 2.6.4 for trunk (and KDE 4.5.x). Why then require 2.6.4 and not 2.6.3 ? While we could probably still live with 2.6.2 for KDE 4.5, only less than 5 percent of our developers are actually still using 2.6.2 or 2.6.3 (http://www.kdedevelopers.org/node/4198), so the upgrade doesn't seem to create to much work for our development community
Also, 2.6.4 there is at least one bug fix (http://public.kitware.com/Bug/view.php?id=8843) which seems to be interesting for us, and so since only around 1 percent are actually using 2.6.3 currently, we just go directly to 2.6.4 to have that bug fixed too. If you don't have CMake >= 2.6.4 yet, your distribution doesn't provide packages and you don't want to build it from source, just download the binary release from Kitware and untar it somewhere, e.g. /opt/, it will just work: http://www.cmake.org/files/v2.8/cmake-2.8.1-Linux-i386.tar.gz (here's the directory with the releases for all platforms: http://www.cmake.org/files/v2.8/) So, if you don't have serious objections, starting May 1st CMake 2.6.4 will be required for trunk/. Alex
These two features of CMake 2.6.3 are the reason to require CMake 2.6.4 for
trunk (and KDE 4.5.x).
Why then require 2.6.4 and not 2.6.3 ?
While we could probably still live with 2.6.2 for KDE 4.5, only less than 5
percent of our developers are actually still using 2.6.2 or 2.6.3
(
RSS Feed