[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