From 7b15c20dafc9133f93bbc65354ec3a36af168fd3 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Wed, 4 Sep 2019 19:19:27 +0200 Subject: Add ECMGenerateExportHeader, for improved handling of deprecated API Summary: Generates additional macros in the export header which can be used for fine-grained disabling of warnings & visibility as well as excluding from the build. Reviewers: #frameworks, #build_system Subscribers: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23789 --- .../library/library.hpp | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tests/ECMGenerateExportHeaderTest/library/library.hpp (limited to 'tests/ECMGenerateExportHeaderTest/library/library.hpp') diff --git a/tests/ECMGenerateExportHeaderTest/library/library.hpp b/tests/ECMGenerateExportHeaderTest/library/library.hpp new file mode 100644 index 00000000..2124bf8a --- /dev/null +++ b/tests/ECMGenerateExportHeaderTest/library/library.hpp @@ -0,0 +1,35 @@ +#include + +enum Enum { +#if LIBRARY_BUILD_DEPRECATED_SINCE(2, 0) + Enumerator_deprecatedAt2_0, +#endif + Enumerator_not_deprecated, +}; + +#if LIBRARY_ENABLE_DEPRECATED_SINCE(2, 0) +LIBRARY_DEPRECATED_VERSION(2, 0, "Deprecated at 2.0") +LIBRARY_EXPORT void function_deprecatedAt2_0(); +#endif + +#if LIBRARY_ENABLE_DEPRECATED_SINCE(2, 12) +LIBRARY_DEPRECATED_VERSION(2, 12, "Deprecated at 2.12") +LIBRARY_EXPORT void function_deprecatedAt2_12(); +#endif + +LIBRARY_EXPORT void function_not_deprecated(); + +class LIBRARY_EXPORT Class { +public: +#if LIBRARY_BUILD_DEPRECATED_SINCE(2, 0) + LIBRARY_DEPRECATED_VERSION(2, 0, "Deprecated at 2.0") + virtual void method_deprecatedAt2_0(); +#endif + +#if LIBRARY_BUILD_DEPRECATED_SINCE(2, 12) + LIBRARY_DEPRECATED_VERSION(2, 12, "Deprecated at 2.12") + virtual void method_deprecatedAt2_12(); +#endif + + virtual void method_not_deprecated(); +}; -- cgit v1.2.1