use cmake to support kdevelop plugin versioning

Aleix Pol aleixpol at
Sun Jul 18 21:18:15 UTC 2010

On Sun, Jul 18, 2010 at 7:28 PM, Andreas Pakulat <apaku at> wrote:

> On 18.07.10 16:10:52, Julian Bäume wrote:
> > I thought about a better way handling the plugin-version entry in the
> desktop
> > files. In my understanding, this version string is used to force a
> rebuild of
> > each plugin after some binary-incompatible change has been made. This
> will
> > also trigger API-changes to be applied, since during rebuilding, the
> plugins
> > with incompatible API won't compile.
> >
> > In kdevplaform, there is a script to update the desktop files. I've
> created
> > some cmake scripts to handle this automatically during configure-time.
> For
> > now, I am getting the version string out of the
> > kdevplatform/interfaces/iplugin.h file into a cmake variable and after
> that I
> > use cmake's configure_files function to generate the desktop files. The
> > parsing of iplugin.h seems a bit hackish to me, so I'd propose to export
> the
> > plugin version as a cmake variable from the FindKDevPlatform.cmake file,
> that
> > gets installed along with the other development files.
> Personally I disagree with that, the version number shouldn't be changed
> in the .desktop files automatically. This should always be a manual
> action that the repsonsible developer of the plugin should do.
> Increasing the plugin version may also be done as part of a behavioural
> change (where the API stays the same) and in such cases you really don't
> want plugins that haven't been adjusted loaded into a running app as it
> may cause undefined behaviour.
> The plugin version declares a dependency of the plugin onto a specific
> runtime version of kdevelop/kdevplatform and hence this dependency
> shouldn't be automatically generated.
> Andreas
> --
> You learn to write as if to someone else because NEXT YEAR YOU WILL BE
> --
> KDevelop-devel mailing list
> KDevelop-devel at

I was about to write something similar.

We wouldn't win that much anyway.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list