"non standalone app bundle" builds on Mac

Jaroslaw Staniek staniek at kde.org
Tue Nov 8 14:03:40 UTC 2016


On 8 November 2016 at 14:50, René J.V. Bertin <rjvbertin at gmail.com> wrote:

> On Tuesday November 08 2016 13:20:37 Jaroslaw Staniek wrote:
>
> > > KDE software mostly uses the form
> > >
> > > #include <Foo>
> > >
> > > whereas on Mac you'd include the main header of a Foo.framework with
> > > (presuming it's not ObjC)
> > >
> > > #include <Foo/Foo>
> > >
> >
> > Maybe that can be seen as misfeature of Xcode and related tools because a
> > point <Foo/Foo> is that the header is _silently_ found even if you're not
>
> No, I don't think you can say that. Support for this (and frameworks
> bundles) has even made it into gcc (on Linux too); I doubt that would have
> happened if there were anything wrong with the principle.
>
> I'm fairly certain that Qt also use the <Foo/Foo> notation in their code
> and examples (#include <QtCore/WhatEver>).
>
> I see your point about protection, but it's simple enough to avoid that.
> How can you pick up the wrong Foo/Foo headers but pick the right
> corresponding libFoo or Foo.framework, or vice versa? If that happens
> there's something wrong with your install.
>
> The KF5 framework headers all live under ${prefix}/include/KF5, meaning
> that even with a <Foo/Foo> notation you still have to point the compiler to
> the appropriate parent directory.
>
> As a bonus you do not end up with endless compiler command lines on which
> you can no longer find relevant information (or which might even lead to
> issues when they become too long).
>
> > you, you get much nicer preprocessor error if you missed certain entry in
> > target_link_libraries().
>
> I don't think the preprocessor cares what cmake did or didn't do :)
>
>
Fine with me, what are the KF5 rules say?
It's a SoK period so it's pretty possible that some students can help with
such changes :)

R.
>



-- 
regards, Jaroslaw Staniek

KDE:
: A world-wide network of software engineers, artists, writers, translators
: and facilitators committed to Free Software development - http://kde.org
Calligra Suite:
: A graphic art and office suite - http://calligra.org
Kexi:
: A visual database apps builder - http://calligra.org/kexi
Qt Certified Specialist:
: http://www.linkedin.com/in/jstaniek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20161108/b5a7881f/attachment-0001.html>


More information about the kde-mac mailing list