FindKActivities.cmake missing from kdelibs KDE/4.7 ?
Alexander Neundorf
neundorf at kde.org
Tue Oct 18 20:57:49 BST 2011
On Tuesday 18 October 2011, Andreas Pakulat wrote:
> On 18.10.11 12:27:14, Alex Merry wrote:
> > On 17/10/11 18:56, Andreas Pakulat wrote:
> > >On 17.10.11 18:35:21, Alex Merry wrote:
> > >>FindKActivities is provided by libkactivities (the kactivities
> > >>module on git.kde.org). If you don't have it, there won't be such a
> > >>file.
> > >
> > >This is wrong as has been discussed numerous times on kde-buildsystem
> > >and the cmake list. A project can provide a XXXConfig.cmake file to
> > >follow the config-mode of find_package, but providing a FindXXX.cmake
> > >module along when installing that package does not make much sense. In
> > >particular this is problematic when a project wants an optional
> > >dependency on such a package since cmake will do a hard exit when no
> > >FindXXX.cmake is found.
> >
> > Ah, OK. In that case, I'm sure I've seen other modules doing it
> > wrong, although I can't remember where.
> >
> > This is generally what extra-cmake-modules in kdesupport is intended
> > to provide, right? So the medium-term solution is to include it in
> > there.
>
> Best solution is to provide a Config-file from libkactivities I think :)
Yes.
With the new support for Config.cmake files for autotools-based builds (cmake
--find-package, will blog about it soon), it is also not really necessary
anymore to install a pkg-config pc-file.
> A project like extra-cmake-modules installing Find-modules always has
> the problem of needing to keep source-compatibility for a reasonable
> timeframe, so that other projects can rely on it when writing their
> CMake-code. This means the find-modules need to be written carefully and
> tested thoroughly.
>
> For libkactivities this would however probably be better than shipping a
> Find-Module in each project using the library since I think you expect
> many such projects - so synching the individual files would be a major
> pita.
>
> If you stick to a Find-module you should ultimately target inclusion
> into cmake though I think. I believe the CMake wiki has a page
> describing the process and ones obligations when maintaining a
> find-module.
>
> Note: All this is from memory, so if you want 100% clarification ask
> kde-buildsystem or Alexander directly :)
I have nothing to add.
Except, maybe, the slightly "cheaper" version of getting a module into cmake
is get it into extra-cmake-modules (which is still far from being releasable).
But of course source-compatibility guarantees apply there too.
Alex
More information about the kde-core-devel
mailing list