Hi,

developer using KDE Frameworks libraries in your projects, how would you like 
to be able to control warnings about deprecated API in those libraries? Or 
control the visibility of deprecated API to your code when building?

There is a prototype to enhance KDE Frameworks API, so developers building 
against KDE Frameworks libraries could use flags like

-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0xXYZ
-DKF_DEPRECATED_WARNINGS_SINCE=0xXYZ
-DKF_NO_DEPRECATED_WARNINGS
-DKF_NO_DEPRECATED
as well as individual specializations per library, e.g.
-DKCOREADDONS_DISABLE_DEPRECATED_BEFORE_AND_AT=0xXYZ
-DKCOREADDONS_DEPRECATED_WARNINGS_SINCE=0xXYZ
-DKCOREADDONS_NO_DEPRECATED_WARNINGS
-DKCOREADDONS_NO_DEPRECATED 

following the similar macros introduced with Qt 5.13.

Additionally this feature also would allow to do custom builds of the KF 
libraries without code for the deprecated API:
-DEXCLUDE_DEPRECATED_BEFORE_AND_AT=0xXYZ
So apps bundling the libraries (AppImage, APK, DMG, etc) could save a bit on 
size, if they do not need the deprecated API.

This prototype is ECMGenerateExportHeader, up at https://phabricator.kde.org/
D23789

So, would those macros be useful to you in your KF5-using projects?
Where would you like things differently?

Cheers
Friedrich


Reply via email to