diff options
| author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-10-08 15:22:49 +0200 | 
|---|---|---|
| committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2019-10-18 21:23:32 +0200 | 
| commit | fb37084b3e7c396cd10bf4d3253fee730320988a (patch) | |
| tree | 3c58974a533b9ec963d315481d38671ba8f10613 /src/core/kcoreconfigskeleton.cpp | |
| parent | 3f68be12f87e83b67f9270eb139d894bf65ebef1 (diff) | |
| download | kconfig-fb37084b3e7c396cd10bf4d3253fee730320988a.tar.gz kconfig-fb37084b3e7c396cd10bf4d3253fee730320988a.tar.bz2 | |
Use ECMGenerateExportHeader to manage deprecated API better
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.
Reviewers: #frameworks, mlaurent
Reviewed By: mlaurent
Subscribers: mlaurent, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24496
Diffstat (limited to 'src/core/kcoreconfigskeleton.cpp')
| -rw-r--r-- | src/core/kcoreconfigskeleton.cpp | 28 | 
1 files changed, 12 insertions, 16 deletions
| diff --git a/src/core/kcoreconfigskeleton.cpp b/src/core/kcoreconfigskeleton.cpp index 34c58ff6..b9c9f2ac 100644 --- a/src/core/kcoreconfigskeleton.cpp +++ b/src/core/kcoreconfigskeleton.cpp @@ -1162,38 +1162,34 @@ void KCoreConfigSkeleton::usrSetDefaults()  {  } -#ifdef Q_CC_GNU -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif  void KCoreConfigSkeleton::usrRead()  { +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)      usrReadConfig(); -} -#ifdef Q_CC_GNU -#pragma GCC diagnostic pop  #endif +} +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)  void KCoreConfigSkeleton::usrReadConfig()  {  } - -#ifdef Q_CC_GNU -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations"  #endif +  bool KCoreConfigSkeleton::usrSave()  { +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)      return usrWriteConfig(); -} -#ifdef Q_CC_GNU -#pragma GCC diagnostic pop +#else +    return true;  #endif +} +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)  bool KCoreConfigSkeleton::usrWriteConfig()  {      return true;  } +#endif  void KCoreConfigSkeleton::addItem(KConfigSkeletonItem *item, const QString &name)  { @@ -1315,7 +1311,7 @@ KCoreConfigSkeleton::ItemLongLong *KCoreConfigSkeleton::addItemLongLong(const QS      return item;  } -#ifndef KDE_NO_DEPRECATED +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)  KCoreConfigSkeleton::ItemLongLong *KCoreConfigSkeleton::addItemInt64(      const QString &name,      qint64 &reference, @@ -1336,7 +1332,7 @@ KCoreConfigSkeleton::ItemULongLong *KCoreConfigSkeleton::addItemULongLong(const      return item;  } -#ifndef KDE_NO_DEPRECATED +#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)  KCoreConfigSkeleton::ItemULongLong *KCoreConfigSkeleton::addItemUInt64(      const QString &name,      quint64 &reference, | 
