use cmake to support kdevelop plugin versioning

Andreas Pakulat apaku at
Sun Jul 18 17:28:13 UTC 2010

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.


You learn to write as if to someone else because NEXT YEAR YOU WILL BE

More information about the KDevelop-devel mailing list