From: "bl...@debian.org" <bl...@debian.org> This allows building and installing only the documentation, without recompiling the whole project, using:
meson build -Denable_docs=true meson compile -C build doc meson install -C build --no-rebuild --tags doc In Debian/Ubuntu the documentation is built separately from the binaries, in a separate architecture-independent build job, so that it has to be done only once, instead of once per supported architecture. Signed-off-by: Luca Boccassi <bl...@debian.org> --- This requires meson 0.60, so there's a warning printed as the minimum defined is 0.57, but it's harmless, and the feature is only used when explicitly invoked with --tags, which simply has to be done with newer meson versions. If install --tags is not used, then there's no issue. doc/api/meson.build | 3 +++ doc/guides/meson.build | 1 + 2 files changed, 4 insertions(+) diff --git a/doc/api/meson.build b/doc/api/meson.build index ac6eb8236d..9b66dce4f3 100644 --- a/doc/api/meson.build +++ b/doc/api/meson.build @@ -27,6 +27,7 @@ example = custom_target('examples.dox', depfile: 'examples.dox.d', install: get_option('enable_docs'), install_dir: htmldir, + install_tag: 'doc', build_by_default: get_option('enable_docs')) # set up common Doxygen configuration @@ -76,6 +77,7 @@ doxy_html_build = custom_target('doxygen-html', command: [generate_doxygen, '@OUTPUT@', doxygen, '@INPUT@'], install: get_option('enable_docs'), install_dir: htmldir, + install_tag: 'doc', build_by_default: get_option('enable_docs')) doc_targets += doxy_html_build @@ -90,6 +92,7 @@ doxy_man_build = custom_target('doxygen-man', command: [generate_doxygen, '@OUTPUT@', doxygen, '@INPUT@'], install: get_option('enable_docs'), install_dir: get_option('datadir'), + install_tag: 'doc', build_by_default: get_option('enable_docs')) doc_targets += doxy_man_build diff --git a/doc/guides/meson.build b/doc/guides/meson.build index f8bbfba9f5..04bfbd1326 100644 --- a/doc/guides/meson.build +++ b/doc/guides/meson.build @@ -22,6 +22,7 @@ html_guides = custom_target('html_guides', depfile: '.html.d', build_by_default: get_option('enable_docs'), install: get_option('enable_docs'), + install_tag: 'doc', install_dir: htmldir) doc_targets += html_guides -- 2.45.2