aboutsummaryrefslogtreecommitdiff
path: root/src/core/CMakeLists.txt
diff options
context:
space:
mode:
authorFriedrich W. H. Kossebau <kossebau@kde.org>2019-10-08 15:22:49 +0200
committerFriedrich W. H. Kossebau <kossebau@kde.org>2019-10-18 21:23:32 +0200
commitfb37084b3e7c396cd10bf4d3253fee730320988a (patch)
tree3c58974a533b9ec963d315481d38671ba8f10613 /src/core/CMakeLists.txt
parent3f68be12f87e83b67f9270eb139d894bf65ebef1 (diff)
downloadkconfig-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/CMakeLists.txt')
-rw-r--r--src/core/CMakeLists.txt9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 45f21471..da48ce8f 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -21,8 +21,15 @@ ecm_qt_declare_logging_category(libkconfigcore_SRCS
configure_file(config-kconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kconfig.h )
add_library(KF5ConfigCore ${libkconfigcore_SRCS})
-generate_export_header(KF5ConfigCore BASE_NAME KConfigCore)
add_library(KF5::ConfigCore ALIAS KF5ConfigCore)
+ecm_generate_export_header(KF5ConfigCore
+ BASE_NAME KConfigCore
+ # GROUP_BASE_NAME KF <- enable once all of KF modules use ecm_generate_export_header
+ VERSION ${KF5_VERSION}
+ DEPRECATED_BASE_VERSION 0
+ DEPRECATION_VERSIONS 4.0 5.0 5.24 5.42
+ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
target_compile_definitions(KF5ConfigCore
PRIVATE