Re: meson documentation build open issues
Andres Freund <andres@anarazel.de>
Attachments
Hi, I really like the idea of an 'help' target that prints the targets. It seemed annoying to document such targets in both the sgml docs and the input for a the help target. Particularly due to the redundancies between id attributes, the target name etc. First I generated the list of targets from within meson.build, only to later realize that that would not work when building the docs via make. So I instead added doc/src/sgml/meson-targets.txt which is lightly postprocessed for the 'help' target, and slightly more processed when building the docs. That does have some downsides, e.g. it'd be more complicated to only print targets if a relevant option is enabled. But I think it's acceptable that way. Example output: $ ninja help [0/1 1 0%] Running external command help (wrapped by meson to set env) Code Targets: all Build everything other than documentation backend Build backend and related modules bin Build frontend binaries contrib Build contrib modules pl Build procedual languages Documentation Targets: docs Build documentation in multi-page HTML format doc-html Build documentation in multi-page HTML format doc-man Build documentation in man page format doc/src/sgml/postgres-A4.pdf Build documentation in PDF format, with A4 pages doc/src/sgml/postgres-US.pdf Build documentation in PDF format, with US letter pages doc/src/sgml/postgres.html Build documentation in single-page HTML format alldocs Build documentation in all supported formats Installation Targets: install Install postgres, excluding documentation install-doc-html Install documentation in multi-page HTML format install-doc-man Install documentation in man page format install-docs Install documentation in multi-page HTML and man page formats install-quiet Like "install", but installed files are not displayed install-world Install postgres, including multi-page HTML and man page documentation uninstall Remove installed files Other Targets: clean Remove all build products test Run all enabled tests (including contrib) world Build everything, including documentation help List important targets Because of the common source, some of the descriptions in the state of this patch are a bit shorter than in the preceding commit. But I don't think that hurts much. Greetings, Andres Freund
Commits
-
docs: meson: Change what 'docs' target builds
- 9e5b2a091fd0 17.0 landed
-
meson: Add 'world' target
- 6614cfb43c82 17.0 landed
-
meson: Document build targets, add 'help' target
- 07cb29737a4e 17.0 landed
-
meson: docs: Add {html,man} targets, rename install-doc-*
- ddcab2a03295 17.0 landed
-
docs: Document --with-selinux/-Dselinux options centrally
- 06c70849fb26 17.0 landed
-
meson: Change default of 'selinux' feature option to auto
- c04f3de3dca3 17.0 landed
-
meson: Fix doc installation path computation
- 7b8399819b9b 17.0 landed
-
meson: Install missing example files
- b630d9d6c82a 17.0 landed
-
meson: docs: Install all manpages, not just ones in man1
- f646ac672567 16.1 landed
- a237a07d5351 17.0 landed
-
meson: docs: Allow configuring simple/website style
- 9d2a464a0484 16.0 landed
-
docs: html: load stylesheet via custom.css.source
- b8059bdf1ef8 16.0 landed
-
docs: html: copy images to output as part of xslt build
- 0012979d989f 16.0 landed
-
meson: docs: Preparatory cleanups
- 0ba827ecfc67 16.0 landed
-
docs: Remove support for 'htmlhelp' format
- d75c7fbaf94e 16.0 landed
-
meson: add install-{docs,doc-html,doc-man} targets
- f13eb16485fe 16.0 landed
-
meson: add install-{quiet, world} targets
- e522049f2399 16.0 landed
-
meson: make install_test_files more generic, rename to install_files
- 614c5f5f52d5 16.0 landed
-
meson: rename html_help target to htmlhelp
- 7730ceb43fe5 16.0 landed