<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/120959/">https://git.reviewboard.kde.org/r/120959/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On novembre 3rd, 2014, 7:59 après-midi UTC, <b>Christophe Giboudeaux</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KPIMUtils/KPIMUtils/SomeHeader is correct. This patch isn't (and the facebook resource builds fine without this patch).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KF5PimUtilsTargets.cmake sets this:
set_target_properties(KF5::PimUtils PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/KPIMUtils;${_IMPORT_PREFIX}/include/KF5"
)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">so, example:</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">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)</h1></pre>
 </blockquote>




 <p>On novembre 3rd, 2014, 9:21 après-midi UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">and the facebook resource builds fine without this patch</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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 :)</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 9:54 après-midi UTC, <b>Christophe Giboudeaux</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">ls /kde/inst/5/attica/include/KF5/Attica 
attica  Attica</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">ls /kde/inst/5/baloo/include/KF5/Baloo 
baloo  Baloo</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">ls /kde/inst/5/kdeclarative/include/KF5/KDeclarative 
kdeclarative  KDeclarative  quickaddons  QuickAddons</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">ls /kde/inst/5/kdesu/include/KF5/KDESu 
kdesu  KDESu</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">and so on...</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That's why you can't see this for all frameworks.</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 10:08 après-midi UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">But then there is</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">$ 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</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">$ 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</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">$ ls /opt/kde5/include/KF5/KCoreAddons/
(no subdirs and loots of files)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">and so on...</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also, there is this: http://mail.kde.org/pipermail/kde-frameworks-devel/2013-December/009001.html (see Kevin's reply at the bottom).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 10:20 après-midi UTC, <b>Christophe Giboudeaux</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">probably fixed with http://commits.kde.org/kdepim-runtime/c43c404e915084b07582177928643c3f16ffc7cf</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 10:25 après-midi UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 10:43 après-midi UTC, <b>Christophe Giboudeaux</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">There's nothing random. Let's take kcoreaddons and attica as examples:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KCoreAddons/KAboutData contains #include "kaboutdata.h"
Attica/Attica/AccountBalance contains #include "attica/accountbalance.h"</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The namespaced camelcase headers just follow what is done for the files they include.
and if you need another reason:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #BC7A00"># ls **/Plugin</span>
kabc<span style="color: #666666">/</span>include<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>KABC<span style="color: #666666">/</span>KABC<span style="color: #666666">/</span>Plugin                              kontactinterface<span style="color: #666666">/</span>include<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>KontactInterface<span style="color: #666666">/</span>KontactInterface<span style="color: #666666">/</span>Plugin  ktexteditor<span style="color: #666666">/</span>include<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>KTextEditor<span style="color: #666666">/</span>KTextEditor<span style="color: #666666">/</span>Plugin kdelibs4support<span style="color: #666666">/</span>include<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>KDELibs4Support<span style="color: #666666">/</span>KDE<span style="color: #666666">/</span>KParts<span style="color: #666666">/</span>Plugin  kparts<span style="color: #666666">/</span>include<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>KParts<span style="color: #666666">/</span>KParts<span style="color: #666666">/</span>Plugin
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If you use these build dependencies, what should happen if you just #include <Plugin> ?</p></pre>
 </blockquote>





 <p>On novembre 3rd, 2014, 10:54 après-midi UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Please refer to http://mail.kde.org/pipermail/kde-frameworks-devel/2013-December/009001.html</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Quoting:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The camel cased includes and the .h ones were planned to live in the same folder.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ending quote.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now, as you posted above:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">set_target_properties(KF5::PimUtils PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/KPIMUtils;${_IMPORT_PREFIX}/include/KF5"
)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">...will clearly make #include <KPIMUtils/Whatever> still work, without the need of another KPIMUtils subdirectory. Which is pretty much my whole point.</p></pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">and would be inconsistent with the other frameworks expecting users to include <SomeModule/SomeHeader></p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Anyway, end of discussion, the include now works fine.</p></pre>
<br />










<p>- Christophe</p>


<br />
<p>On novembre 3rd, 2014, 9:21 après-midi UTC, Martin Klapetek wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Frameworks, KDEPIM-Libraries and Laurent Montel.</div>
<div>By Martin Klapetek.</div>


<p style="color: grey;"><i>Updated nov. 3, 2014, 9:21 après-midi</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdepimlibs
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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/...?</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Akonadi-facebook fails to build with "kpimutils/linklocator.h - No such file or directory", with this it no longer gives the error.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kpimutils/src/CMakeLists.txt <span style="color: grey">(1acc88e)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/120959/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>








  </div>
 </body>
</html>