[Differential] [Request, 598 lines] D2854: New: ECMGenerateApiDox, for generating qch & tag files
kossebau (Friedrich W. H. Kossebau)
noreply at phabricator.kde.org
Sun Sep 25 23:06:39 UTC 2016
kossebau created this revision.
kossebau added subscribers: Frameworks, KDevelop, ochurlaud.
REVISION SUMMARY
To enable creation of qch files during a normal build,
for documenting the public API of a lib.
These macros are especially done with release builds in mind,
so distributed packages (like from Linux distributions) can
include qch files matching the version of the library and will be
also automatically updated on new versions of the libary.
Next to that the macros also supports linking between different
qch files, so a subclass from another library for which there also
is a qch file installed will be linked to the entry in that other
qch file.
This should be a nice addition to the online service like api.kde.org,
like qassitent/qt qhc files are to doc.qt.io
Open questions:
a) recommended install path for qch and tag files?
What would KDevelop & Co. like for easy automatic discovery of qch files?
What would be a nice var name for such dirs to be used with KDEInstallDirs?
b) best way to specify sources to use for created API docs?
SOURCE_DIRS in this draft is the only option to specify the input to
doxygen, following the inspiration of kde-dev-scripts/kdedoxyqt.sh.
Being part of the buildsystem and having access to more data like sources
for a library target or even special target metadata, supporting other variants
might be nice to have. Looking for proposals from experienced target
metadata users here.
c) sharing metadata with kapidox
Initially I placed these macros into the kapidox module, as this seems the
logic place. And would match what kdoctools does for user manuals.
Just, that would create a build dependency on kapidox which complicates usage
a little. Having these macros in ECM delivers them with no extra effort
needed.
The data in metainfo.yaml is partially duplicated with the data feed into
the macros. How to deduplicate that is still open. Especially with the need
to not depend on external data sources like identify.kde.org.
d) naming pattern for cmake config variables for qch & tag files sane?
Issues:
- doxygen for me currently creates broken inter-qch links.
- KDevelop for some created qch does not show the content (but assistant
does).
- html style in assistant sometimes covers class names
BRANCH
addGenerateApiDox
REVISION DETAIL
https://phabricator.kde.org/D2854
AFFECTED FILES
modules/ECMDoxygenQCH.config.in
modules/ECMGenerateApiDox.cmake
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: kossebau
Cc: ochurlaud, #kdevelop, #frameworks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160925/d6ed3e9f/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list