doc: add install_tag to meson
Checks
Commit Message
From: "bluca@debian.org" <bluca@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 <bluca@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(+)
Comments
On Mon, Dec 23, 2024 at 01:21:13PM +0000, luca.boccassi@gmail.com wrote:
> From: "bluca@debian.org" <bluca@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 <bluca@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(+)
>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
@@ -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
@@ -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