With the previous implementation, race conditions could arise because a
generated intermediate file was used by multiple targets.
To fix the mentioned problem, the macro 'generate_docbook_file' has been
integrated into a in a new macro 'add_docbook' to simplify the dependency
chain and make it easier to use.
When using an xml template with the 'TEMPLATE' parameter, a separate
intermediate xml file is used for each generated output file to avoid
overwriting each other, which was the main cause of the described problem.
Due to the adaptation of the calling conventions it was necessary to
introduce the parameter 'MAN_CATEGORY'.
Fixes#381
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
This adds a nice way of loading the DTD files based on the identifier
in the DOCTYPE declaration, no matter where the DTDs are installed.
See also ‘XML catalog’ Wikipedia entry and update-xmlcatalog(8).
A prefix has been added to the custom target names in docbook-related
macros to fix the reported error:
ninja: error: build.ninja:xxx: multiple rules generate
doc/dbus-xxx.1.html [-w dupbuild=err]
Fixes#377
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
With this parameter, docbook will generate the same id's when generating the
same docs. This is helpful to get bit-by-bit 'reproducible' output, which
makes auditing the package easier.
Tested both the cmake output and the automake output
Qt help files are used by Qt Creator and KDevelop, for example, to support
the development of Qt-based applications and libraries.
Generating api documentation in Qt help format is controlled by two
user specific options named --enable-qt-help and --with-qchdir (autotools)
and -DENABLE_QT_HELP and -DINSTALL_QCH_DIR (cmake).
CI builds intermittently fail with
error: Could not create output directory /.../doc/api/xml
or
error: Could not create output directory /.../doc/api/man
Fixes: https://gitlab.freedesktop.org/dbus/dbus/issues/266
Signed-off-by: Simon McVittie <smcv@collabora.com>