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




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Ben Wagner.</div>


<p style="color: grey;"><i>Updated Jan. 16, 2014, 7:24 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Added a git format-patch for the change. I'm not a committer, so if you want it, this is how you get it :-)</pre>
  </td>
 </tr>
</table>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevelop
</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;">In some CMake projects a file may be listed as a source file in a 'real' target but also listed as a source to a 'custom' target. Custom targets don't handle includes, so depending on the order of evaluation when computing include paths, one may or may not get any includes.

This change causes include path computation to prefer file items in targets over those not in targets (as was the case before) and also prefer file items in targets with includes over those without includes.

This change grew out of my frustration with the randomness with which file item was picked to represent the file. I have a project in which several files exist in a 'real' target which has the correct includes, but the same files also end up in a 'custom' target which, of course, doesn't have any includes. In general if a file exists in multiple targets, it makes sense to prefer one of the ones with some includes over targets with no includes. This is the best improvement I could think of with relation to this which doesn't use some union of includes or add some user option to force which file item should be used.
</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;">Built. Ran. Fixed my problem.</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>languages/cpp/includepathcomputer.cpp <span style="color: grey">(a013bc9)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments (updated)</h1>

<ul>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/01/16/298906bc-4815-45c9-ab7c-9e0d598196b5__0001-Prefer-non-empty-when-computing-include-paths.patch">git format-patch of initial change</a></li>

</ul>





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




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