[kde-freebsd] Qt documentation generation
Ralf Nolden
nolden at kde.org
Sun Mar 20 15:14:08 UTC 2016
Hi,
after some discussion on IRC, here's two links to a proof of concept of an
alternative way how we can get the qt docs generated and packaged:
qt5-doc.tar
https://share.kde.org/index.php/s/pQqSl2roFbYsrws
qt5-qdoc.tar
https://share.kde.org/index.php/s/vTqDTyIyRCxdZnj
1. the qdoc binary is needed to generate the html docs and has the least
dependencies (qtcore and qtxml only).
2. the qch files for creator and assistant are generated with qhelpgenerator
which is part of qt5-help, so a lot further down the dependency line
The idea is a two step approach:
1. when building qdoc, in one go also generate the html docs with it out of
the qtbase sources for:
-qdoc itself
-qmake (which is at the beginning of the dependency line)
-qtcore
-qtxml
All other html docs generation can be placed into their respecitve ports
(qtconcurrent, qtsql etc.) with a copy+paste from the qdoc port's makefile.
This also generates and installs a qhp file for each library that gets
installed and which can be used by qhelpgenerator in step 2.
2. in the qt5-doc port, generate the html docs of the qtdoc source submodule
(which is in qt5/distinfo already) and generate the qch file as well by calling
qhelpgenerator implicitely through "make docs" (see makefile)
Then, for all installed qhp files of the qt ports, generate the qch files:
${QT_BINDIR}/qhelpgenerator ${QT_DOCDIR}/qmake/qmake.qhp -o
${STAGEDIR}/${QT_DOCDIR}/qmake.qch
(as an example)
So, the qt5-doc package generates the html doc of the topmost html qt docs
(that require all other ports being installed with their html docs to create
the links), plus generates the qtcreator/assistant readable qch files.
The plus side of this approach compared to the previous attempt (extracting
all submodule sources and re-combine them to a whole sourcetree, then generate
the stuff) is:
- we have html docs already in place with each submodule except qtcore and
qtxml (which are required for qdoc, but get generated there)
- easy to maintain the doc files generated when we switch from version to
version of qt
What is currently left out are the examples that are build in the previous
older port I mailed IIRC last year also. An idea to those could be to build
and install them with each port (or build them optionally)
Any feedback welcome.
--
Kind regards,
Ralf Nolden
More information about the kde-freebsd
mailing list