Use ECMGenerateExportHeader to manage deprecated API better
ClosedPublic

Authored by kossebau on Mon, Oct 7, 1:27 PM.

Details

Summary

Allows

  • projects linking to KWidgetsAddons to hide deprecated API up to a given version or silence deprecation warnings after a given version, using
    • -DKWIDGETSADDONS_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKWIDGETSADDONS_NO_DEPRECATED
    • -DKWIDGETSADDONS_DEPRECATED_WARNINGS_SINCE
    • -DKWIDGETSADDONS_NO_DEPRECATED_WARNINGS

      or
    • -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKF_NO_DEPRECATED
    • -DKF_DEPRECATED_WARNINGS_SINCE
    • -DKF_NO_DEPRECATED_WARNINGS
  • to build KWidgetsAddons optionally with deprecated API excluded from the build, using "EXCLUDE_DEPRECATED_BEFORE_AND_AT" cmake argument.
Test Plan

Builds with EXCLUDE_DEPRECATED_BEFORE_AND_AT set to 0, 5.0.0, 5.13.0,
CURRENT.

Diff Detail

Repository
R236 KWidgetsAddons
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kossebau created this revision.Mon, Oct 7, 1:27 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptMon, Oct 7, 1:27 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
kossebau requested review of this revision.Mon, Oct 7, 1:27 PM

If no-one objets, would be pushing on Monday evening, Oct. 14th.

kossebau updated this revision to Diff 67737.Fri, Oct 11, 5:45 PM
  • disable KF group deprecation macros for now
  • set DEPRECATED_BASE_VERSION=0, to not disable any API by default
mlaurent accepted this revision.Sat, Oct 12, 6:57 AM
This revision is now accepted and ready to land.Sat, Oct 12, 6:57 AM
This revision was automatically updated to reflect the committed changes.