From fb37084b3e7c396cd10bf4d3253fee730320988a Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Tue, 8 Oct 2019 15:22:49 +0200 Subject: 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 --- src/core/kcoreconfigskeleton.cpp | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'src/core/kcoreconfigskeleton.cpp') 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, -- cgit v1.2.1