Deprecation Defines
David Faure
faure at kde.org
Mon Jul 7 21:39:38 UTC 2014
On Monday 05 May 2014 13:14:07 Alex Merry wrote:
> 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.
In case anyone's bored, there are still 99 files in KF5 using
KDE_NO_DEPRECATED (without counting kdelibs4support).
The affected frameworks are kcompletion, kconfig, kdewebkit, kemoticons,
kglobalaccel, khtml, kiconthemes, kio, kitemviews, kparts, kwidgetaddons and
kxmlgui....
I'll take care of kio and kparts, since I maintain these.
> > - 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.
Not sure I even understand the question; but looking at *_export.h, it seems
that apps can remove all deprecated APIs by setting DEFINE_NO_DEPRECATED?
Strange name (not namespaced in any way), and is it documented anywhere?
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5
More information about the Kde-frameworks-devel
mailing list