Problem with cmake 2.8 and FindOpenSSl.cmake module shipped with kde

Alexander Neundorf neundorf at kde.org
Mon Dec 21 21:46:36 CET 2009


On Monday 21 December 2009, ctrlaltca wrote:
> Hi, I'm a developer of KVIrc, a project that uses kde as an optional
> component.
> A fedora packager reported us a problem compiling kvirc with cmake 2.8
> (https://svn.kvirc.de/kvirc/ticket/655); after a lot of investigation,
> we found out that the problem was cmake being fooled in using both kde's
> and cmake's bundled FindOpenSSL.cmake modules.
> -- full explanation follows --
> In out CMakeLists.txt, we call these FIND_PACKAGE:
>
> FIND_PACKAGE(Qt4)
> FIND_PACKAGE(KDE4)
> FIND_PACKAGE(OpenSSL)
>
> FindQt4 will check openssl's presence using cmake's bundled module,
> while the others will use kde's module (kde's CMakeLists.txt enforces
> the use of its internal modules).
> Since kde's FindOpenSSL.cmake is based on cmake2.6 version and its
> internals are changed in cmake 2.8, the mixed usage of the two modules
> won't work (OPENSSL_LIBRARIES will be empty).
>
> Our workaround has been placing FIND_PACKAGE(KDE4) before everything
> else, forcing the use of kde's cmake modules everywhere.
> -- end of full explanation --
>
> An easy way to avoid such problems will be not to include in kde a
> custom copy of FindOpenSSL.cmake since cmake already bundles a copy of
> this module.
> Is this solution practicable?

In principle, yes.
KDE requires cmake 2.6.2, which also has a FindOpenSSL.cmake. Attached you can 
find the diff between the KDE version and the one from cmake 2.6.2, so as 
long as we require 2.6.2 we need it AFAICT.
Also attached you can find the diff between KDEs current version and the one 
from cmake 2.8.0, which ash even more changes.

Somebody should try to get them in sync again (full compatibility for the 
cmake version has to be kept, and all features of the KDE version have to be 
kept), and then, once our and CMake's version are the same again (i.e. not 
before cmake 2.8.1), we can remove our version as soon as we depend on at 
least this version of cmake.

So, this is nothing we can do quickly.

Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FindOpenSSL.cmake.patch
Type: text/x-diff
Size: 3310 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20091221/3a7dce0c/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FindOpenSSL.cmake-2.8.0.patch
Type: text/x-diff
Size: 5400 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20091221/3a7dce0c/attachment-0001.bin 


More information about the Kde-buildsystem mailing list