Having $(framework)_global.h headers (was: Re: building KF5 projects against a different Qt5 version [...])
Friedrich W. H. Kossebau
kossebau at kde.org
Sun Apr 26 15:12:31 BST 2020
Am Sonntag, 26. April 2020, 15:46:35 CEST schrieb David Faure:
> On Sunday, April 26, 2020 3:21:34 PM CEST René J.V. Bertin wrote:
> > Talking about version test hacks (or not-so-hacks): why is it that
> > KFOO_VERSION isn't defined systematically when you include any header of
> > the FOO KF5 framework? With Qt you never have to worry about QT_VERSION
> > being defined.
>
> Well, everything in Qt ends up including global.h
> There's no such central header in KF5 frameworks (which are more modular, by
> definition), so you need to include the framework_version.h header.
We could perhaps look into extending the export headers into some kind of $
(framework)_global.h headers, like we are now doing already a bit for all the
deprecation definitions when using ecm_generate_export_header, where all
additional stuff is injected via the export headers.
I also found a bit annoying to have to add all the explicit includes of
framework_version.h every time one wanted to access KFOO_VERSION.
So far had only pondered the idea at that time, no yet investigated further
given state of own TODO list :) Also low motivation given that there would
need to be a backward-compatible setup, and usually one uses that very version
header to be compatible to old versions, so there was no immediate gain.
But long time (at least KF6) I would also prefer to see the version macros
available by default.
Cheers
Friedrich
More information about the Kde-frameworks-devel
mailing list