<table><tr><td style="">adridg added a comment.
</td></tr></table><br /><div><div><p>So there's subtask <em>extract version information from CMakeLists.txt</em>, which implies a few things:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">going over the applications to check that they actually <strong>do</strong> set their version in the top-level CMakeLists, as part of the <tt style="background: #ebebeb; font-size: 13px;">project()</tt> command,</li>
<li class="remarkup-list-item">check that tooling uses that version consistently,</li>
<li class="remarkup-list-item">check that the tooling can provide the version information everywhere it's needed.</li>
</ul>

<p>This kind of rolls into a best-versioning-practices guide for (CMake-build-based software) things under the KDE umbrella. And it will take a bunch of administrative code-work to get there.</p>

<p>I randomly looked at kmplot, which (not pointing fingers; this is just <strong>what</strong> it does, which doesn't seem to fit very well with any proposed automation or tooling-for-consistency):</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">no version in CMakeLists.txt <tt style="background: #ebebeb; font-size: 13px;">project()</tt></li>
<li class="remarkup-list-item">version held in the application code as a <tt style="background: #ebebeb; font-size: 13px;">const char*</tt></li>
<li class="remarkup-list-item">version repeated in text in the docbook (along with text saying "Applications 19.04")</li>
<li class="remarkup-list-item">version repeated in text in a manpage</li>
</ul>

<p>So that's one community-maintained application that would require quite some massaging to get to whatever automated ideal is chosen.</p></div></div><br /><div><strong>TASK DETAIL</strong><div><a href="https://phabricator.kde.org/T10755">https://phabricator.kde.org/T10755</a></div></div><br /><div><strong>To: </strong>ngraham, adridg<br /><strong>Cc: </strong>adridg, heikobecker, aspotashev, huftis, cullmann, hein, ltoscano, kde-utils-devel, KDE Games, KDE PIM, sitter, jriddell, Spectacle, Gwenview, Konsole, Kate, Dolphin, aacid, cfeck, KDE Applications, ngraham<br /></div>