Re: Includes (was: Re: KF6 meeting notes 2022-01-04)

2022-01-05 Thread Volker Krause
On Dienstag, 4. Januar 2022 19:41:45 CET Friedrich W. H. Kossebau wrote:
> Am Dienstag, 4. Januar 2022, 18:07:45 CET schrieb Volker Krause:
> > - in some places includes with the framework prefix don't seem to work
> > anymore (ie.  vs ), any idea where those extra
> > include directories came from/got lost?
> 
> FTR, pointed on irc to some insights about design of include folder layout
> noted in an older comment here:
> https://invent.kde.org/pim/akonadi/-/merge_requests/70#note_300273
> 
> And follow-up on what makes path relative to "include/KF5" work:
> https://invent.kde.org/pim/akonadi/-/merge_requests/70#note_300304

Thanks for the input, that explains a few things indeed :)

> Seems at least the version files as currently installed do not match the
> pattern as described above, but that might have been just a mistake which
> happened to work, so no-one noticed.
> Installing kfoo_version.h instead of to include/KF5 to include/KF5/KFoo
> should still work as before., at least for anything which reads include
> paths from installed metadata like cmake config files, pkgconfig files or
> qmake pri files.
> 
> The currently by KF5 modules provided pkgconfig files or qmake pri files
> seem to even never add "include/KF5" in the samples I looked at, so any
> #include  would have never worked with them.
> 
> So I would propose to fix things and adapt the version files to be installed
> into the module prefix now already. Any serious project should get the
> include paths from the build metadata and not try to heuristically find
> version headers and try to heuristically detect the version from that.

Here's a pilot MR for this: 
https://invent.kde.org/frameworks/kio/-/merge_requests/693

Regards,
Volker

signature.asc
Description: This is a digitally signed message part.


Includes (was: Re: KF6 meeting notes 2022-01-04)

2022-01-04 Thread Friedrich W. H. Kossebau
Am Dienstag, 4. Januar 2022, 18:07:45 CET schrieb Volker Krause:
> - in some places includes with the framework prefix don't seem to work
> anymore (ie.  vs ), any idea where those extra
> include directories came from/got lost?

FTR, pointed on irc to some insights about design of include folder layout 
noted in an older comment here:
https://invent.kde.org/pim/akonadi/-/merge_requests/70#note_300273

And follow-up on what makes path relative to "include/KF5" work:
https://invent.kde.org/pim/akonadi/-/merge_requests/70#note_300304

Seems at least the version files as currently installed do not match the 
pattern as described above, but that might have been just a mistake which 
happened to work, so no-one noticed.
Installing kfoo_version.h instead of to include/KF5 to include/KF5/KFoo should 
still work as before., at least for anything which reads include paths from 
installed metadata like cmake config files, pkgconfig files or qmake pri 
files.

The currently by KF5 modules provided pkgconfig files or qmake pri files seem 
to even never add "include/KF5" in the samples I looked at, so any #include 
 would have never worked with them.

So I would propose to fix things and adapt the version files to be installed 
into the module prefix now already. Any serious project should get the include 
paths from the build metadata and not try to heuristically find version 
headers and try to heuristically detect the version from that.

Cheeers
Friedrich