required CMake version is still 2.4.3

Alexander Neundorf neundorf at kde.org
Thu Mar 8 18:04:27 CET 2007


Hi,

the import of oxygen to kdelibs/ broke compilation with CMake 2.4.3, since 
there INSTALL(DIRECTORY ... ) is used which was introduced in CMake 2.4.4.

Our required minimum cmake version is still CMake 2.4.3, so I committed a 
quick fix to unbreak compilation. 

http://techbase.kde.org/Getting_Started/Build/KDE4#Set_up_CMake mentions 
version 2.4.5, I don't where the one who wrote this got this from. 

If you think you found a place where CMake 2.4.3 has a bug or a feature we 
really need has been implemented since then, please bring it up an 
kde-core-devel or kde-buildsystem.

Please don't silently add stuff which breaks compilation with older version of 
cmake than yours and hope that people will just update cmake because it 
didn't work. 

In kdelibs/cmake/modules/FindKDE4Internal.cmake there is the line

cmake_minimum_required(VERSION 2.4.3 FATAL_ERROR)

which says which version of CMake we require.
So if we require a newer version then this is the line which absolutely HAS to 
be adjusted so that the user gets a usefull error message instead of just a 
broken build due to whatever reason.

If we then find that we really need to raise the required minimum version then 
we'll announce it on k-c-d, kde-buildsystem and kde-devel and do it two weeks 
later. I really hate it when I come to my box and just notice that something 
doesn't build anymore because some requirement was silently changed.

So, we have now exactly two things were we have advantages with CMake >= 
2.4.5:

1) building the tests, with cmake >= 2.4.5 the targets are always created but 
not included in the all target, so you don't have to rerun cmake to get the 
test targets

2) INSTALL(DIRECTORY ...) in kdelibs/pics/oxygen/ which just installs a whole 
directory tree. I don't know if I'll find the time tosay to see if this can 
also be done in some way with CMake 2.4.3.

Disadvantages: 

Is there any distro which ships with CMake >= 2.4.5 ?
AFAIK SUSE 10.2 and Kubuntu Edgy Eft ship with CMake 2.4.3 by default, so you 
can simply start working on KDE if you installed them.

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net


More information about the Kde-buildsystem mailing list