[ANNOUNCE] CMake 2.6.4 will be required for trunk/ May 1st

Alexander Neundorf neundorf at kde.org
Wed Apr 14 20:00:50 BST 2010


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 
convenience :-)



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 
(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




More information about the kde-core-devel mailing list