<table><tr><td style="">kossebau updated the summary for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-vtpsml5yj737rw5/" rel="noreferrer">(Show Details)</a><br />kossebau updated the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-k3odimnvfymuixn/" rel="noreferrer">(Show Details)</a>
</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/D2854" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>EDIT DETAILS</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">To e</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">E</span>nable<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);"> cre</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">s gener</span>ation of <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QCH</span> files during a normal build,<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);"> </span><br />
for documenting the public API of a <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">lib.</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">library.<br />
</span><br />
These macros are especially done with release builds in mind,<div style="padding: 8px 0;">...</div>include <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QCH</span> files matching the version of the library and will be<div style="padding: 8px 0;">...</div>Next to that the<span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">se</span> macros also support<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">s</span> linking between different<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QCH</span> files, so a subclass from another library for which there also<br />
is a <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QCH</span> file installed will be linked to the entry in that other<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QCH</span> file.<div style="padding: 8px 0;">...</div>like Qt's <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">qch</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">own QCH</span> files are to doc.qt.io<div style="padding: 8px 0;">...</div>So things like "file(EXPORT ...)" could sadly not be reused, as custom targets are not supported with that. Thus a custom macro had to be created for now. Also could I not find a way to use namespaces like KF5::, for more consistent target naming.<br />
<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">Open questions:</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">The patch also adds two variables to KDEInstallDirs.cmake for<br />
controlling where the QCH (and respective doxygen tag files) are</span><br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">a) recommended install path for qch and tag</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">installed. The QTQCHDIR variant allows to install QCH</span> files<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">?</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);"> for</span><br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">What would Qt Assistant, Qt Creator, KDevelop & Co. like for easy automatic discovery of qch files?</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">Qt-extending libraries into the same folder where Qt's own QCH</span><br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">What would be a nice var name for such dirs to be used with KDEInstallDirs?</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">files are, so Qt Assistant & other QCH viewer pick up them automatically.</span><br />
<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">b</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">Open questions:<br />
a</span>) target system for exporting/importing done in a sane way? Better name pattern for the QCH targets than xxx_QCH (see the targets created for Qt, like Qt5Core_QCH)?<br />
<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">c</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">b</span>) sharing metadata with kapidox<div style="padding: 8px 0;">...</div></div></div></div><br /><div><strong>EDIT DETAILS</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div> TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_FULL_<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">DATA</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QTQCH</span>DIR}<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">/qch</span><br />
QCH_INSTALL_DESTINATION $<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">{</span>KDE_INSTALL_FULL_<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">DATA</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QTQCH</span>DIR}<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">/qch</span><br />
)<div style="padding: 8px 0;">...</div> TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_FULL_<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">DATA</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QTQCH</span>DIR}<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">/qch</span><br />
QCH_INSTALL_DESTINATION ${KDE_INSTALL_FULL_<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">DATA</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">QTQCH</span>DIR}<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">/qch</span><br />
)<div style="padding: 8px 0;">...</div></div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D2854" rel="noreferrer">https://phabricator.kde.org/D2854</a></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>kossebau, staniek, Frameworks<br /><strong>Cc: </strong>shumski, kfunk, staniek, winterz, ochurlaud, KDevelop<br /></div>