On 8 November 2016 at 14:50, René J.V. Bertin <rjvber...@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