[ANNOUNCE] CMake 2.6.4 will be required for trunk/ May 1st
Alexander Neundorf
neundorf at kde.org
Wed Apr 14 21:00:50 CEST 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-buildsystem
mailing list