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