<table><tr><td style="">kossebau added inline comments.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7217" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7217#inline-29425" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">KDevPlatformMacrosPrivate.cmake:32-39</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #304a96">target_include_directories</span><span class="p">(</span><span style="color: #aa2211">${</span><span style="color: #001294">target</span><span style="color: #aa2211">}</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #766510">INTERFACE</span> <span style="color: #766510">"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/kdevplatform>"</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #766510">"$<BUILD_INTERFACE:${KDevPlatform_SOURCE_DIR}>"</span> <span style="color: #766510">"$<BUILD_INTERFACE:${KDevPlatform_BINARY_DIR}>"</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #766510">"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"</span> <span style="color: #74777d"># useful for the "something.export.h" includes</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #74777d">#some plugins install interfaces such as execute/iexecuteplugin.h</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"> <span style="color: #304a96">target_include_directories</span><span class="p">(</span><span style="color: #aa2211">${</span><span style="color: #001294">target</span><span style="color: #aa2211">}</span> <span style="color: #766510">INTERFACE</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Hm, on another look I am still wondering what the advantage of doing the $<BUILD_INTERFACE> variant is over just setting those include dirs globally.<br />
It adds the very same non-lib-specific dirs to any lib.</p>
<p style="padding: 0; margin: 8px;">And the ${KDevPlatform_*_DIR}/plugins ones even is rather a hack, as none of the libs these include dirs get set for actually provide those headers. That rule just makes sure that anyone using any of these libs also sees the additional headers provided by any plugins. While actually those wanting those additional headers from plugins should get a separate interface-only library target and link properly against it, no?</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7217" rel="noreferrer">https://phabricator.kde.org/D7217</a></div></div><br /><div><strong>To: </strong>kossebau, KDevelop, apol<br /><strong>Cc: </strong>kdevelop-devel<br /></div>