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