> On nov. 3, 2014, 7:59 après-midi, Christophe Giboudeaux wrote: > > KPIMUtils/KPIMUtils/SomeHeader is correct. This patch isn't (and the > > facebook resource builds fine without this patch). > > > > KF5PimUtilsTargets.cmake sets this: > > set_target_properties(KF5::PimUtils PROPERTIES > > INTERFACE_INCLUDE_DIRECTORIES > > "${_IMPORT_PREFIX}/include/KF5/KPIMUtils;${_IMPORT_PREFIX}/include/KF5" > > ) > > > > so, example: > > #include <KPIMUtils/Email> (ie (install > > prefix)/include/KF5/KPIMUtils/KPIMUtils/Email) won't have troubles finding > > kpimutils/email.h (ie (install > > prefix)/include/KF5/KPIMUtils/kpimutils/email.h) > > Martin Klapetek wrote: > Well nothing in current Frameworks5 collection installs headers like > this, so I'm not sure why kdepimlibs is/should be different. I'll add the > frameworks group to weigh in. > > > and the facebook resource builds fine without this patch > > Fwiw, the facebook resource is disabled in master and it in no way builds > fine, there are many other build errors, this is just one of them :) > > Christophe Giboudeaux wrote: > ls /kde/inst/5/attica/include/KF5/Attica > attica Attica > > ls /kde/inst/5/baloo/include/KF5/Baloo > baloo Baloo > > ls /kde/inst/5/kdeclarative/include/KF5/KDeclarative > kdeclarative KDeclarative quickaddons QuickAddons > > ls /kde/inst/5/kdesu/include/KF5/KDESu > kdesu KDESu > > and so on... > > The first KPIMUtils is the module name, that's consistent with all the > current frameworks > The second one is there to give a hint that the include should be > KPIMUtils/PrettyHeader and not just PrettyHeader. > > That's why you can't see this for all frameworks. > > Martin Klapetek wrote: > But then there is > > $ ls /opt/kde5/include/KF5/KArchive/ > K7Zip KAr KArchiveDirectory KArchiveEntry > karchive_export.h karchivefile.h kar.h kcompressiondevice.h > kfilterbase.h kfilterdev.h ktar.h KZipFileEntry kzip.h > k7zip.h KArchive karchivedirectory.h karchiveentry.h KArchiveFile > karchive.h KCompressionDevice KFilterBase KFilterDev > KTar KZip kzipfileentry.h > > $ ls /opt/kde5/include/KF5/KNotifications/ > KNotification knotification.h KNotificationPlugin > knotificationplugin.h KNotificationRestrictions knotificationrestrictions.h > knotifications_export.h KNotifyPlugin knotifyplugin.h KPassivePopup > kpassivepopup.h KStatusNotifierItem kstatusnotifieritem.h > > $ ls /opt/kde5/include/KF5/KCoreAddons/ > (no subdirs and loots of files) > > and so on... > > Also, there is this: > http://mail.kde.org/pipermail/kde-frameworks-devel/2013-December/009001.html > (see Kevin's reply at the bottom). > > In fact, after looking a bit more into this, about half of frameworks > installs headers into same directory while the rest uses subdirs. According > to the above archive, it should use the same directory however. > > Christophe Giboudeaux wrote: > probably fixed with > http://commits.kde.org/kdepim-runtime/c43c404e915084b07582177928643c3f16ffc7cf > > Martin Klapetek wrote: > Well, no. The issue as described above still stands, the consensus was > different than the current way and I'd like us to get things less random. > > Christophe Giboudeaux wrote: > There's nothing random. Let's take kcoreaddons and attica as examples: > > KCoreAddons/KAboutData contains #include "kaboutdata.h" > Attica/Attica/AccountBalance contains #include "attica/accountbalance.h" > > The namespaced camelcase headers just follow what is done for the files > they include. > and if you need another reason: > > # ls **/Plugin > kabc/include/KF5/KABC/KABC/Plugin > kontactinterface/include/KF5/KontactInterface/KontactInterface/Plugin > ktexteditor/include/KF5/KTextEditor/KTextEditor/Plugin > kdelibs4support/include/KF5/KDELibs4Support/KDE/KParts/Plugin > kparts/include/KF5/KParts/KParts/Plugin > > If you use these build dependencies, what should happen if you just > #include <Plugin> ? > > Martin Klapetek wrote: > Please refer to > http://mail.kde.org/pipermail/kde-frameworks-devel/2013-December/009001.html > > Quoting: > > The camel cased includes and the .h ones were planned to live in the same > folder. > > Ending quote. > > Now, as you posted above: > > set_target_properties(KF5::PimUtils PROPERTIES > INTERFACE_INCLUDE_DIRECTORIES > "${_IMPORT_PREFIX}/include/KF5/KPIMUtils;${_IMPORT_PREFIX}/include/KF5" > ) > > ...will clearly make #include <KPIMUtils/Whatever> still work, without > the need of another KPIMUtils subdirectory. Which is pretty much my whole > point.
and would be inconsistent with the other frameworks expecting users to include <SomeModule/SomeHeader> Anyway, end of discussion, the include now works fine. - Christophe ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/120959/#review69749 ----------------------------------------------------------- On nov. 3, 2014, 9:21 après-midi, Martin Klapetek wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/120959/ > ----------------------------------------------------------- > > (Updated nov. 3, 2014, 9:21 après-midi) > > > Review request for KDE Frameworks, KDEPIM-Libraries and Laurent Montel. > > > Repository: kdepimlibs > > > Description > ------- > > The generated headers have "#include "kpimutils/linklocator.h" but since they > are being installed in KPIMUtils/KPIMUtils/, the inclusion fails because > those real headers are installed in KPIMUtils/kpimutils (rather than > KPIMUtils/KPIMUtils/kpimutils). I also don't see a reason why to install into > KPIMUtils/KPIMUtils/...? > > > Diffs > ----- > > kpimutils/src/CMakeLists.txt 1acc88e > > Diff: https://git.reviewboard.kde.org/r/120959/diff/ > > > Testing > ------- > > Akonadi-facebook fails to build with "kpimutils/linklocator.h - No such file > or directory", with this it no longer gives the error. > > > Thanks, > > Martin Klapetek > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel