Building Qt Documentation: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Added LLVM requirement description)
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''English''' [[Building Qt Documentation Russian|Русский]] [[Building Qt Documentation Italian|Italiano]] [[Building Qt Documentation Spanish|Spanish]] [[Building Qt Documentation Japanese|日本語]] [[Building Qt Documentation SimplifiedChinese|简体中文]] [[Building Qt Documentation Korean|한국어]]
[[Category:Developing Qt::Documentation]]
[[Category:Tools]]
{{LangSwitch}}
'''Note:''' For information about writing documentation for Qt, see the [[Writing Qt Documentation]] page. For help on troubleshooting documentation builds, see the [[Troubleshooting Qt Documentation]] page.


=Building Qt Documentation=For information about writing documentation for Qt, see the [[Writing Qt Documentation]] page.For help on troubleshooting documentation builds, see the [[Troubleshooting Qt Documentation]] page.=Building Qt 5 Documentation=QDoc (''qdoc'' command in qtbase) builds the documentation and is included in standard Qt 5 installations. The official Qt documentation is built using Linux based machines, requiring libraries needed for [[Building Qt 5 from Git|building Qt 5]] and tested on the [http://doc.qt.io/qt-5.0/qtdoc/supported-platforms.html supported desktop platforms] ''[qt.io]''.===Required reading===
QDoc (''qdoc'' command in qtbase) builds the documentation and is included in standard Qt 5 installations. The official Qt documentation is built using Linux based machines, requiring libraries needed for [[Building_Qt_5_from_Git | building Qt 5]] and tested on the [http://doc.qt.io/qt-5.0/qtdoc/supported-platforms.html supported desktop platforms].
** [[Get The Source|Get the Source Code]] download the Qt sources
 
** [[Building Qt 5 from Git|Building Qt 5]] build instructions for Qt 5For the standard installation of the Qt 5 repository (qt5.git), once Qt is built and installed, running ''make docs'' in the command line will build QDoc and the Qt 5 documentation set. The output will be located in ''qt5/qtbase/doc/'' or to the directory set to qmake’s QT_INSTALL_DOCS variable.<br />In many cases, building Qt 5 and submodules is not necessary. To build the documentation, it is necessary to build QDoc in qtbase and run ''qmake_all'' in each repository before running ''make docs''To do so after the configure step:<br /> On Windows, you may use the native ''nmake'' tool, instead. Note that qhelpgenerator has other dependencies in qtbase, therefore, it is best to compile qtbase before building qttools.Alternatively, “make html_docs” will only build the <span class="caps">HTML</span> files and will not create a qch package.For shadow builds, the source directory and install directories are different and the global templates need to be moved to the install directories. To do so, run:==Building the Module Documentation==The Qt modules have their documentation built by running ''make docs'' in the command line once Qt 5 is built and installed.<br />===Running qdoc Directly===QDoc builds are specified in ''qdocconf'' files which tells QDoc where to look and how to set up documentation. To run QDoc, pass the qdocconf file and the output directory as arguments.<br />==Modularized Documentation==The modules have a qdocconf file in the ''src'' directory. The [[Qt Documentation Structure|Qt_Documentation_Structure]] page has more information.=Building Qt4 Documentation=Build Qt as normal.Define environment variables for QT_SOURCE_TREE and for QT_BUILD_TREE appropriately. Make sure the <span class="caps">PATH</span> environment variable points to the ''bin'' directory containing the ''qdoc3'' executable.For the online docs it may be necessary to usefor later versions of Qt.For Windows™ use the nmake utility instead of make. Some Linux systems will require gmake instead of make.If you already have Qt compiled (from the <span class="caps">SDK</span>, for example) and want to build some special flavour of the doc, you can call directly qdoc3 (QT_SOURCE_TREE, QT_BUILD_TREE, and <span class="caps">QTDIR</span> must be set appropriately), here for <span class="caps">DITA</span> output:===Categories:===
'''Note:''' from Qt version 5.10 LLVM/libllvm version >= 3.9 is required to build QDoc. See [http://doc-snapshots.qt.io/qt5-5.11/qdoc-guide-clang.html Installing clang for QDoc]. If LLVM is not installed or it would not be found in package tree of your system, QDoc will not be built and you will not be able to build documentation. Once LLVM is installed the LLVM_INSTALL_DIR environment variable must be set pointing to its top-level installation directory.
** [[:Category:Developing Qt|Developing_Qt]]
 
*** [[:Category:Developing Qt::Documentation|Documentation]]
== Required reading ==
 
* [[Get_The_Source | Get the Source Code]] - download the Qt sources
* [[Building_Qt_5_from_Git | Building Qt 5]] - build instructions for Qt 5
 
For the standard installation of the Qt 5 repository (qt5.git), once Qt is built and installed, running ''make docs'' in the command line will build QDoc and the Qt 5 documentation set. The output will be located in ''qt5/qtbase/doc/'' or to the directory set to qmake's QT_INSTALL_DOCS variable.
<code>
cd qt5/
make docs
</code>
 
In many cases, building all of Qt 5 is not necessary. To build the documentation, it is necessary to build QDoc (to generate HTML documentation) and qhelpgenerator (to package the HTML documentation into .qch files). These are both located in the qttools repository.
 
QDoc and qhelpgenerator depend on several Qt modules from qtbase. After the configuration step, build qtbase:
 
<code>
cd qt5/qtbase
make
</code>
 
Additionally, QDoc depends on the QML DevTools library from qtdeclarative:
 
<code>
cd qt5/qtdeclarative/src
make sub-qmldevtools
</code>
 
To build the documentation tools:
<code>
cd qt5/qttools/src
make sub-qdoc
</code>
 
If only HTML documentation is needed, the step below, building qhelpgenerator is not required.
 
<code>
cd qt5/qttools/src/assistant
make sub-qhelpgenerator
</code>
 
To now build the documentation:
<code>
cd qt5/
make qmake_all          # needed on Qt configured for prefix build to update the per-module index directories
make docs              # or just make html_docs if only HTML documentation is needed
</code>
 
On Windows, you may use the native ''nmake'' tool, instead.
 
 
=== Shadow builds ===
 
For shadow builds, the source directory and install directories are different and the global templates need to be moved to the install directories. To do so, run:
 
<code>
cd qtbase
make install_global_docs
</code>
 
== Building the Module Documentation ==
 
The Qt modules have their documentation built by running ''make docs'' in the command line once Qt 5 is built and installed.
<code>
cd qt3d
make docs
</code>
 
=== Running qdoc Directly ===
 
QDoc builds are specified in ''qdocconf'' files which tells QDoc where to look and how to set up documentation. To run QDoc, pass the qdocconf file and the output directory as arguments.
<code>
qdoc qt3d.qdocconf -outputdir html
</code>
 
== Modularized Documentation ==
 
The modules have a qdocconf file in the ''src'' directory. The [[Qt_Documentation_Structure]] page has more information.
 
= Building Qt4 Documentation =
 
Build Qt as normal.
 
Define environment variables for QT_SOURCE_TREE and for QT_BUILD_TREE appropriately. Make sure the PATH environment variable points to the ''bin'' directory containing the ''qdoc3'' executable.
 
<code>
cd path/to/qt
make docs
</code>
 
For the online docs it may be necessary to use
 
<code>
cd path/to/qt
make online_docs
</code>
 
for later versions of Qt.
 
For Windows™ use the nmake utility instead of make. Some Linux systems will require gmake instead of make.
 
If you already have Qt compiled (from the SDK, for example) and want to build some special flavour of the doc, you can call directly qdoc3 (QT_SOURCE_TREE, QT_BUILD_TREE, and QTDIR must be set appropriately), here for DITA output:
 
<code>
cd qt-src
bin/qdoc3 tools/qdoc3/test/qt-ditaxml.qdocconf
</code>

Revision as of 20:04, 24 March 2018

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Note: For information about writing documentation for Qt, see the Writing Qt Documentation page. For help on troubleshooting documentation builds, see the Troubleshooting Qt Documentation page.

QDoc (qdoc command in qtbase) builds the documentation and is included in standard Qt 5 installations. The official Qt documentation is built using Linux based machines, requiring libraries needed for building Qt 5 and tested on the supported desktop platforms.

Note: from Qt version 5.10 LLVM/libllvm version >= 3.9 is required to build QDoc. See Installing clang for QDoc. If LLVM is not installed or it would not be found in package tree of your system, QDoc will not be built and you will not be able to build documentation. Once LLVM is installed the LLVM_INSTALL_DIR environment variable must be set pointing to its top-level installation directory.

Required reading

For the standard installation of the Qt 5 repository (qt5.git), once Qt is built and installed, running make docs in the command line will build QDoc and the Qt 5 documentation set. The output will be located in qt5/qtbase/doc/ or to the directory set to qmake's QT_INSTALL_DOCS variable.

cd qt5/
make docs

In many cases, building all of Qt 5 is not necessary. To build the documentation, it is necessary to build QDoc (to generate HTML documentation) and qhelpgenerator (to package the HTML documentation into .qch files). These are both located in the qttools repository.

QDoc and qhelpgenerator depend on several Qt modules from qtbase. After the configuration step, build qtbase:

cd qt5/qtbase
make

Additionally, QDoc depends on the QML DevTools library from qtdeclarative:

cd qt5/qtdeclarative/src
make sub-qmldevtools

To build the documentation tools:

cd qt5/qttools/src
make sub-qdoc

If only HTML documentation is needed, the step below, building qhelpgenerator is not required.

cd qt5/qttools/src/assistant
make sub-qhelpgenerator

To now build the documentation:

cd qt5/
make qmake_all          # needed on Qt configured for prefix build to update the per-module index directories
make docs               # or just make html_docs if only HTML documentation is needed

On Windows, you may use the native nmake tool, instead.


Shadow builds

For shadow builds, the source directory and install directories are different and the global templates need to be moved to the install directories. To do so, run:

cd qtbase
make install_global_docs

Building the Module Documentation

The Qt modules have their documentation built by running make docs in the command line once Qt 5 is built and installed.

cd qt3d
make docs

Running qdoc Directly

QDoc builds are specified in qdocconf files which tells QDoc where to look and how to set up documentation. To run QDoc, pass the qdocconf file and the output directory as arguments.

qdoc qt3d.qdocconf -outputdir html

Modularized Documentation

The modules have a qdocconf file in the src directory. The Qt_Documentation_Structure page has more information.

Building Qt4 Documentation

Build Qt as normal.

Define environment variables for QT_SOURCE_TREE and for QT_BUILD_TREE appropriately. Make sure the PATH environment variable points to the bin directory containing the qdoc3 executable.

cd path/to/qt
make docs

For the online docs it may be necessary to use

cd path/to/qt
make online_docs

for later versions of Qt.

For Windows™ use the nmake utility instead of make. Some Linux systems will require gmake instead of make.

If you already have Qt compiled (from the SDK, for example) and want to build some special flavour of the doc, you can call directly qdoc3 (QT_SOURCE_TREE, QT_BUILD_TREE, and QTDIR must be set appropriately), here for DITA output:

cd qt-src
bin/qdoc3 tools/qdoc3/test/qt-ditaxml.qdocconf