<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="http://git.reviewboard.kde.org/r/112928/">http://git.reviewboard.kde.org/r/112928/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 26th, 2013, 8:27 p.m. UTC, <b>Alexander Neundorf</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/112928/diff/5/?file=192796#file192796line22" style="color: black; font-weight: bold; text-decoration: underline;">template/CMakeLists.txt</a>
<span style="font-weight: normal;">
(Diff revision 5)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">22</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="c"># find_package(KCoreAddons ${KF5_VERSION} REQUIRED)</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The idea here was that you can simply list all required KF5 frameworks in one find_package() call:
find_package(KF5 COMPONENTS CMake Compiler InstallDirs KCoreAddons Solid ....)
When not doing this, you can also use the longer include() syntax instead of the find_package(KF5) syntax:
include(KDECMakeSettings)
include(KDECompilerSettings)
include(KDEInstallDirs)
find_package(KCoreAddons)
</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">What would make sense to me is this:
As a downstream KDE application
find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
As a downstream which is not a KDE application:
find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
In the KF5 tier1 buildsystems:
find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
In the KF5 tier>1 buildsystems:
find_package(ECM 0.0.9 REQUIRED KDECMake KDECompiler KDEInstallDirs)
find_package(KF5 5.0.0 REQUIRED KCoreAddons Solid)
That way, when we're building KF5 tier1, we're not finding KF5. We're finding and using ECM.
When we're building KF5 tier2, we're finding out tier1 deps and we're finding and using ECM.
etc.
That maps to reality. It's a bit unfortunate that find_package(KF5) has to be a FindKF5 in ECM, but that's ok IMO.
Thanks,
Steve.</pre>
<br />
<p>- Stephen</p>
<br />
<p>On September 26th, 2013, 2:37 p.m. UTC, Aurélien Gâteau wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 KDE Frameworks, Kevin Ottens, Alexander Neundorf, and Stephen Kelly.</div>
<div>By Aurélien Gâteau.</div>
<p style="color: grey;"><i>Updated Sept. 26, 2013, 2:37 p.m.</i></p>
<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;">This patch adds a template/ dir which contains example CMakeLists.txt and FooBarConfig.cmake.in files, based on what exists in current frameworks.
</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>template/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>template/FooBarConfig.cmake.in <span style="color: grey">(PRE-CREATION)</span></li>
<li>template/setup.sh <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/112928/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>