Header cleanup / Link interface (was kdewidgets: fix build)

Alexander Neundorf neundorf at kde.org
Fri Jul 19 20:33:09 UTC 2013


On Friday 19 July 2013, David Faure wrote:
> On Friday 19 July 2013 17:40:26 wojtask w wrote:
...
> > 3. We have situation
> > 
> > a) framework A (public header use QObject and QWidget)
> > -> LINK_PUBLIC only to Qt5::Widgets? or both Qt5::Core and Qt5::Widgets?
> 
> I don't know if deps become part of it. I guess not, but I'm no expert.
> Stephen? Alex?

If public headers of A make use of stuff from QtCore, I'd say QtCore should be 
also part of LINK_PUBLIC. Maybe it's not really necessary, but IMO it's more 
correct.

> > b) framework B (public header use QObject and QWidget and classes from
> > frameworkA)
> > -> LINK_PUBLIC same as in framework A plus KF5::FrameworkA? or only to
> > KF5::FrameworkA because Qt5::Core and Qt5::Widgets are linked in
> > frameworkA?
> > 
> > in short LINK_PUBLIC libraries are propagated and LINK_PRIVATE are not?
> > :)

I think so. But Stephen knows better, he did a lot of work on this.
But independently from that, if B uses QtCore, it should link against it, and 
not rely on QtCore being dragged in "accidentially" via QtWidgets, which it 
also links against.
I'm also not sure whether QtCore would then be required directly by the B ELF 
file or only via A.

Alex





More information about the Kde-frameworks-devel mailing list