aboutsummaryrefslogtreecommitdiff
path: root/modules/ECMGenerateExportHeader.cmake
AgeCommit message (Collapse)Author
2022-08-27ECMGenerateExportHeader: fix & document CUSTOM_CONTENT_FROM_VARIABLEHEADmasterFriedrich W. H. Kossebau
2022-06-12API dox: ECMGenerateExportHeader turn note about BIC hiding into warningFriedrich W. H. Kossebau
NO_CHANGELOG
2021-07-13Fix typos found by codespellChristophe Giboudeaux
GIT_SILENT
2021-05-25Clean ECM files after the minimum version changeChristophe Giboudeaux
- Remove deprecated version checks - Use VERSION_GREATER_EQUAL
2021-05-07Order macro for attribute for symbol export before that for deprecatedFriedrich W. H. Kossebau
The symbol export/visibility attribute is not standardized so far and needs to be set by language extension attribute declaration at least with clang & MSVC, who both support that when it appears before the standard attribute declaration. NO_CHANGELOG
2021-04-25ECMGenerateExportHeader: unbreak builds by not mixing std & legacy attributesFriedrich W. H. Kossebau
NO_CHANGELOG BUG: 436155
2021-04-25ECMGenerateExportHeader: handle being included in C modeFriedrich W. H. Kossebau
NO_CHANGELOG
2021-04-25ECMGenerateExportHeader: check for non-vendor-specific deprecated attrFriedrich W. H. Kossebau
We want to know here if the standard attribute is available NO_CHANGELOG
2021-04-24Fix since version numbers for previous enumerator deprecation commitFriedrich W. H. Kossebau
NO_CHANGELOG
2021-04-24ECMGenerateExportHeader: add macros for enumerator deprecation warningFriedrich W. H. Kossebau
2021-04-23Modules docs: move rst docs into bracket commentsFriedrich W. H. Kossebau
CMake >= 3.0 supports bracket comments, and the reStructuredText integration code in sphinx/ext/ecm.py already supports extracting the docs from a bracket comment instead. Editing documentation without leading line comment markers is more simple, e,g. when reflowing text over lines. With ECM meanwhile requiring CMake 3.5 now it is possible to switch (and thus follow also the approach used by cmake itself). NO_CHANGELOG
2021-03-31ECMGenerateExportHeader: do sanity check for version argument valuesv5.81.0-rc2v5.81.0-rc1v5.81.0Friedrich W. H. Kossebau
To prevent accidental use of the C++-side hex number-style version variants on the cmake side where human-readable style is used instead (which can happen due to the similar names of the cmake variables/arguments and C++ macros which screws up developers' brain) we better do some proper input checks also on the arguments EXCLUDE_DEPRECATED_BEFORE_AND_AT and DEPRECATED_BASE_VERSION
2020-06-14extra-cmake-modules: Convert to SPDX license statementsAndreas Cord-Landwehr
2020-05-13ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED()Friedrich W. H. Kossebau
Summary: Now and then tagging some API as deprecated for the compiler is forgotten. Doing this retractivitly in newer versions but using the official version might break build setups configured to only show warnings up to a certain version and otherwise fail a build, using -Werror=deprecated-declarations. To allow retroactive tagging of API for compiler warnings, and showing the official version in the warniung message, while reacting only to warning controls for the current version where the tag is added, avoids any such annoying experiences, without wrong version info at the same time. Reviewers: #frameworks, #build_system, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29573
2019-12-05EBN extra-cmake-modules comments spelling cleanupJohn Hayes
Summary: Correct spelling in extra-cmake-modules comments. Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D25752
2019-12-02ECMGenerateExportHeader: add NO_BUILD_SET_DEPRECATED_WARNINGS_SINCE flagFriedrich W. H. Kossebau
Summary: The original intention has been that by default during the build of a library no warnings should be emitted on using own deprecated API, as for one that has to be implemented as well as often deprecated API is implemented using other deprecated API, so the warnings are not helpful, and having to add lots of push/pop warnings instructions in the code for the compiler harms readability more than it helps ensuring to only use deprecated API where one has to. The original intention was satisfied due to the default mechanism in the generated export header code, where DEPRECATED_WARNINGS_SINCE if not set defaults to DISABLE_DEPRECATED_BEFORE_AND_AT. That though breaks once the group version of DEPRECATED_WARNINGS_SINCE is set in the build, as this default has higher priority by design, even if the usage here only wants to target dependency libs of the same group, not the current library. To restore the intented default behaviour, by default DEPRECATED_WARNINGS_SINCE is now explicitely set for the library build itself to the EXCLUDE_DEPRECATED_BEFORE_AND_AT value, and a new macro option allows to disable this. Reviewers: #build_system, #frameworks, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D25589
2019-10-30ECMGenerateExportHeader: allow ecm_[..]_format_version wo/ CURRENT_VERSIONv5.64.0-rc1v5.64.0Friedrich W. H. Kossebau
GIT_SILENT
2019-10-22ECMGenerateExportHeader: fix deprecation text concatenation having quotesFriedrich W. H. Kossebau
GIT_SILENT
2019-10-16ECMGenerateExportHeader: generate code with C90-compatible commentsFriedrich W. H. Kossebau
GIT_SILENT
2019-10-11ECMGenerateExportHeader: adapt too small DEPRECATED_BASE_VERSION, not failFriedrich W. H. Kossebau
More friendly to users which mix arguments DEPRECATED_BASE_VERSION & EXCLUDE_DEPRECATED_BEFORE_AND_AT, but e.g. allow the latter to be configured during library build setup GIT_SILENT
2019-10-11ECMGenerateExportHeader: for DEPRECATED_BASE_VERSION support value CURRENTFriedrich W. H. Kossebau
GIT_SILENT
2019-10-11ECMGenerateExportHeader: use final hex numbers in generated codeFriedrich W. H. Kossebau
GIT_SILENT
2019-10-11ECMGenerateExportHeader: fix DEPRECATED_BASE_VERSION, value 0 and docsFriedrich W. H. Kossebau
GIT_SILENT
2019-10-10Add ECMGenerateExportHeader, for improved handling of deprecated APIFriedrich W. H. Kossebau
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