D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-04 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 67324. kossebau added a comment. - extend unit tests to cover library group macro variants Sadly blows up by all combinations unit test time to >1 min on old machine REPOSITORY R240 Extra CMake Modules CHANGES SINCE LAST UPDATE

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-02 Thread Friedrich W. H. Kossebau
kossebau added a comment. In D23789#540033 , @dfaure wrote: > I found confirmation in cmake's Tests/RunCMake/GenerateExportHeader/reference/ Not sure what you exactly mean, can you please specify confirmation for what? And what this

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-02 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 67220. kossebau added a comment. - extend *_VERSION_DEPRECATED to expect third argument "text" first experimental consumption time support for "text" output with GCC compiler - make *_NO_DEPRECATED a proper shortcut for DISABLE_BEFORE_AND_AT=CURRENT

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-30 Thread David Faure
dfaure added a comment. I found confirmation in cmake's Tests/RunCMake/GenerateExportHeader/reference/ $ grep -r LIBSHARED_DEPRECATED\ . | grep -w define ./UNIX_DeprecatedOnly/libshared_export.h:# define LIBSHARED_DEPRECATED __attribute__ ((__deprecated__))

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-30 Thread Friedrich W. H. Kossebau
kossebau added a comment. In D23789#539940 , @dfaure wrote: > I see the theoretical problem, but how could this ever be a problem in practice? > On Unix all compilers support the same syntax (`__attribute__ ((__deprecated__))`), so you'd

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-30 Thread David Faure
dfaure added a comment. > Which might be an issue for people who would like to use different compiler on the same system, both building against the same generated export header file. I see the theoretical problem, but how could this ever be a problem in practice? On Unix all compilers

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-30 Thread Friedrich W. H. Kossebau
kossebau added a comment. Quick Update (week 40): Locally have added experimental code to even set the proper attribute for GCC compiler, so we get e.g.: /home/koder/Kode/kdegit/kf5/frameworks/kparts/tests/notepad.cpp: In constructor ‘NotepadPart::NotepadPart(QWidget*, QObject*,

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-28 Thread Christian Ehrlicher
chehrlic added a comment. In D23789#538985 , @kossebau wrote: > >> - why has all Qt code not yet been adapted to QT_DEPRECATED_VERSION/QT_DEPRECATED_VERSION_X, are there places where those macros should not be used, but the version-less ones?

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-27 Thread Friedrich W. H. Kossebau
kossebau added a comment. Thanks for your reply, Christian :) In D23789#538876 , @chehrlic wrote: > In D23789#536338 , @kossebau wrote: > > > Actual questions I have: > > > > - why is

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-27 Thread Christian Ehrlicher
chehrlic added a comment. In D23789#536338 , @kossebau wrote: > Actual questions I have: > > - why is QT_DEPRECATED_WARNINGS_SINCE not officially documented? like, any plans to change that macro to something else? Just forgot it (and

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-23 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 66670. kossebau added a comment. add first set of unit tests covering the main functionality. Feedback on principal approach wanted! Also add some fixes to actual macro code found by the tests already :) REPOSITORY R240 Extra CMake Modules

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-23 Thread Friedrich W. H. Kossebau
kossebau added a subscriber: chehrlic. kossebau added a comment. @chehrlic Hi. As I just discovered, you are the author of the macros for Qt (commit ) which I took as inspiration/blue print when

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-23 Thread Friedrich W. H. Kossebau
kossebau added a comment. Quick Update (week 39): took me a bit longer to design and write tests, not trained to write such things in cmake code, all its magic & caches & scopes + own undiscovered typos make this not (yet?) fun, and I am not certain I have done things properly, so will be

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-14 Thread Friedrich W. H. Kossebau
kossebau added a comment. Quick update: Currently still busy trying to get unit tests done, half-way through that. ETA begin of upcoming week. Next plan: see how only having the 3-arg-`FOO_DEPRECATED_VERSION(major. minor, message)` would work by using that in the experimental patches

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-11 Thread David Faure
dfaure added a comment. I wouldn't offer both variants, but rather recommend always adding a hint. At worse that hint can be "See method documentation" or an empty string. I think we're just over-complicating things otherwise, for no actual gain, since providing a hint is good practice

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-11 Thread Friedrich W. H. Kossebau
kossebau added inline comments. INLINE COMMENTS > dfaure wrote in ECMGenerateExportHeader.cmake:87 > I'm having trouble parsing the "only" in this sentence. > > `deprecated API only`... that seems redundant, it's only API that gets > deprecated :-) > > Maybe you mean "to disable only at build

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-11 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 65854. kossebau marked 3 inline comments as done. kossebau added a comment. - reword documentation based on dfaure's comments - bump since-version to 5.64.0, as currently targetted introduction version Hope is review can be finished at 5.63 tagging

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-11 Thread Friedrich W. H. Kossebau
kossebau added a comment. @dfaure Thanks for first in-detail feedback, good to get a feeling this is not totally insane over-engineered stuff to other people'e eyes :) In D23789#528994 , @dfaure wrote: > Great work. Not really easy to grasp

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-10 Thread David Faure
dfaure added a comment. Great work. Not really easy to grasp at first sight (because it handles BC for no-compat builds of the lib itself, which we never did before) but this is certainly quite comprehensive. Since we don't yet have any source compat to worry about for these macros

D23789: RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-09-09 Thread Friedrich W. H. Kossebau
kossebau retitled this revision from "WIP: Add ECMGenerateExportHeaders, for improved handling of deprecated API" to "RFC: Add ECMGenerateExportHeaders, for improved handling of deprecated API". REPOSITORY R240 Extra CMake Modules REVISION DETAIL https://phabricator.kde.org/D23789 To: