From 08b0e02f8ecd3cec4840f5025729e5b40d890645 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sun, 12 Jun 2022 17:53:49 +0200 Subject: API dox: ECMGenerateExportHeader turn note about BIC hiding into warning NO_CHANGELOG --- modules/ECMGenerateExportHeader.cmake | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'modules') diff --git a/modules/ECMGenerateExportHeader.cmake b/modules/ECMGenerateExportHeader.cmake index e8e1fb16..a548e927 100644 --- a/modules/ECMGenerateExportHeader.cmake +++ b/modules/ECMGenerateExportHeader.cmake @@ -177,18 +177,19 @@ When the ``GROUP_BASE_NAME`` has been used, the same macros but with the given ```` prefix are available to define the defaults of these macros, if not explicitly set. -Note: The tricks applied here for hiding deprecated API to the compiler -when building against a library do not work for all deprecated API: - -* virtual methods need to stay visible to the compiler to build proper - virtual method tables for subclasses -* enumerators from enums cannot be simply removed, as this changes - auto values of following enumerators, also can poke holes in enumerator - series used as index into tables - -In such cases the API can be only "hidden" at build time of the library, -itself, by generated hard coded macro settings, using -``_BUILD_DEPRECATED_SINCE(major, minor)``. +.. warning:: + The tricks applied here for hiding deprecated API to the compiler + when building against a library do not work for all deprecated API: + + * virtual methods need to stay visible to the compiler to build proper + virtual method tables for subclasses + * enumerators from enums cannot be simply removed, as this changes + auto values of following enumerators, also can poke holes in enumerator + series used as index into tables + + In such cases the API can be only "hidden" at build time of the library, + itself, by generated hard coded macro settings, using + ``_BUILD_DEPRECATED_SINCE(major, minor)``. Examples: -- cgit v1.2.1