Use ECMGenerateExportHeader to manage deprecated API better
ClosedPublic

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

Details

Summary

Allows

  • projects linking to KCompletion to hide deprecated API up to a given version or silence deprecation warnings after a given version, using
    • -DKCOMPLETION_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKCOMPLETION_NO_DEPRECATED
    • -DKCOMPLETION_DEPRECATED_WARNINGS_SINCE
    • -DKCOMPLETION_NO_DEPRECATED_WARNINGS

      or
    • -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKF_NO_DEPRECATED
    • -DKF_DEPRECATED_WARNINGS_SINCE
    • -DKF_NO_DEPRECATED_WARNINGS
  • to build KCompletion 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, 4.5.0,
5.0.0, 5.46.0, CURRENT.

Diff Detail

Repository
R284 KCompletion
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:27 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptOct 8 2019, 1:27 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
kossebau requested review of this revision.Oct 8 2019, 1:27 PM
kossebau updated this revision to Diff 67734.Oct 11 2019, 5:35 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 68093.Oct 16 2019, 9:38 PM

add some missed deprecations

mlaurent accepted this revision.Oct 17 2019, 6:08 AM
This revision is now accepted and ready to land.Oct 17 2019, 6:08 AM
This revision was automatically updated to reflect the committed changes.