Use ECMGenerateExportHeader to manage deprecated API better

Authored by kossebau on Sep 27 2019, 1:28 PM.

Description

Use ECMGenerateExportHeader to manage deprecated API better

Summary:
Allows

  • projects linking to KParts to hide deprecated API up to a given version or silence deprecation warnings after a given version, using
    • -DKPARTS_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKPARTS_NO_DEPRECATED
    • -DKPARTS_DEPRECATED_WARNINGS_SINCE
    • -DKPARTS_NO_DEPRECATED_WARNINGS

      or
    • -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
    • -DKF_NO_DEPRECATED
    • -DKF_DEPRECATED_WARNINGS_SINCE
    • -DKF_NO_DEPRECATED_WARNINGS
  • to build KParts 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, CURRENT.

Reviewers: Frameworks, dfaure, mlaurent

Reviewed By: dfaure, mlaurent

Subscribers: kde-frameworks-devel

Tags: Frameworks

Differential Revision: https://phabricator.kde.org/D24467