Use ECMGenerateExportHeader to manage deprecated API better
ClosedPublic

Authored by kossebau on Oct 8 2019, 1:28 PM.

Details

Summary

Allows

  • projects linking to KConfigWidgets to hide deprecated API up to a given version or silence deprecation warnings after a given version, using
    • -DKCONFIGWIDGETS_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKCONFIGWIDGETS_NO_DEPRECATED
    • -DKCONFIGWIDGETS_DEPRECATED_WARNINGS_SINCE
    • -DKCONFIGWIDGETS_NO_DEPRECATED_WARNINGS

      or
    • -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKF_NO_DEPRECATED
    • -DKF_DEPRECATED_WARNINGS_SINCE
    • -DKF_NO_DEPRECATED_WARNINGS
  • to build KConfigWidgets 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, 4.0.0, 5.0.0,
5.23.0, 5.38.0, 5.39.0, CURRENT.

Diff Detail

Repository
R265 KConfigWidgets
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.Oct 8 2019, 1:28 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptOct 8 2019, 1:28 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
kossebau requested review of this revision.Oct 8 2019, 1:28 PM
kossebau updated this revision to Diff 67736.Oct 11 2019, 5:39 PM
  • disable KF group deprecation macros for now
  • set DEPRECATED_BASE_VERSION=0, to not disable any API by default
kossebau updated this revision to Diff 68010.Oct 16 2019, 3:12 AM

update to latest master with new deprecated method

mlaurent accepted this revision.Oct 16 2019, 5:00 AM
mlaurent added a subscriber: mlaurent.

Seems ok for me

This revision is now accepted and ready to land.Oct 16 2019, 5:00 AM
This revision was automatically updated to reflect the committed changes.