Use ECMGenerateExportHeader to manage deprecated API better
ClosedPublic

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

Details

Summary

Allows

  • projects linking to KConfigCore/Gui to hide deprecated API up to a given version or silence deprecation warnings after a given version, using
    • -DKCONFIGCORE_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKCONFIGCORE_NO_DEPRECATED
    • -DKCONFIGCORE_DEPRECATED_WARNINGS_SINCE
    • -DKCONFIGCORE_NO_DEPRECATED_WARNINGS
    • -DKCONFIGGUI_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKCONFIGGUI_NO_DEPRECATED
    • -DKCONFIGGUI_DEPRECATED_WARNINGS_SINCE
    • -DKCONFIGGUI_NO_DEPRECATED_WARNINGS

      or
    • -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKF_NO_DEPRECATED
    • -DKF_DEPRECATED_WARNINGS_SINCE
    • -DKF_NO_DEPRECATED_WARNINGS
  • to build KConfigCore/Gui 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.11.0, 5.24.0, 5.39.0, 5.42.0, CURRENT.

Diff Detail

Repository
R237 KConfig
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 67735.Oct 11 2019, 5:37 PM
  • disable KF group deprecation macros for now
  • set DEPRECATED_BASE_VERSION=0, to not disable any API by default
mlaurent accepted this revision.Oct 18 2019, 6:12 AM
mlaurent added a subscriber: mlaurent.

seems ok for me

This revision is now accepted and ready to land.Oct 18 2019, 6:12 AM
This revision was automatically updated to reflect the committed changes.