Deprecation Defines

Alex Merry alex.merry at kde.org
Mon May 5 12:14:07 UTC 2014


On 05/05/14 07:27, Matthew Dawson wrote:
> Hi all,
> 
> I was looking into my frameworks, to prepare them for the 5.0.  One thing was 
> looking into was the deprecation defines.  In KConfig, there are a couple of 
> defines to disable deprecated functions:
>  - KDE_NO_DEPRECATED

As you mention, this is a leftover, and not correct.

>  - KCONFIGCORE_NO_DEPRECATED
>  - KCONFIGGUI_NO_DEPRECATED

Both of these are correct, for their respective libraries.

> Where KDE_NO_DEPRECATED seems to be from kdelibs, and KCONFIG*_NO_DEPRECATED 
> are from cmake's generate_export_header function.  Going forward, which is 
> considered to be the correct way to have deprecated pieces of code excluded 
> from the build?
> 
> And: If generate_export_header is used, should all frameworks be extended with 
> a switch to easily enable/disable its deprecation exclusion defines?

I suggested this a couple of months ago - you can pass an argument to
generate_export_header to do it (which you would make dependent on an
option). I think the general view was that it wasn't worth it
(especially for frameworks where deprecated code is minimal or mostly
header-only). Applications can always put the *_NO_DEPRECATED defines in
their build scripts if they want, I guess.

Alex





More information about the Kde-frameworks-devel mailing list