build: include documentation in meson dist
Previously, the tarball generated by `meson dist` did not contain the autogenerated documentation due to the way meson works (packaging the latest revision control commit). This introduces a dist script which builds & copies the generated documentation into the distribution tarball. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1811
This commit is contained in:
@@ -978,9 +978,13 @@ endif
|
|||||||
|
|
||||||
if enable_docs
|
if enable_docs
|
||||||
assert(enable_introspection, '-Ddocs=true requires -Dintrospection=true')
|
assert(enable_introspection, '-Ddocs=true requires -Dintrospection=true')
|
||||||
assert(meson.version().version_compare('>= 0.46.0'), '-Ddocs requires meson >= 0.46')
|
assert(meson.version().version_compare('>= 0.49.0'), '-Ddocs requires meson >= 0.49')
|
||||||
subdir('man')
|
subdir('man')
|
||||||
subdir('docs')
|
subdir('docs')
|
||||||
|
meson.add_dist_script(
|
||||||
|
'tools/meson-dist-data.sh',
|
||||||
|
'--build-root', build_root
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
|
35
tools/meson-dist-data.sh
Executable file
35
tools/meson-dist-data.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ensure_var_path() {
|
||||||
|
if [ "${!1}" = "" ]; then
|
||||||
|
echo "$0: Required variable $1 is not set, aborting" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${!1}" ]; then
|
||||||
|
echo "$0: Path '${!1}' in $1 does not exist or is not directory, aborting" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_from_build() {
|
||||||
|
cp -Tr "$MESON_BUILD_ROOT/$1" "$MESON_DIST_ROOT/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$MESON_BUILD_ROOT" = "" ]; then
|
||||||
|
if [ "$1" = "--build-root" ]; then
|
||||||
|
MESON_BUILD_ROOT="$2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ensure_var_path "MESON_DIST_ROOT"
|
||||||
|
ensure_var_path "MESON_BUILD_ROOT"
|
||||||
|
ensure_var_path "MESON_SOURCE_ROOT"
|
||||||
|
|
||||||
|
ninja -C "$MESON_BUILD_ROOT" all libnm-doc NetworkManager-doc
|
||||||
|
|
||||||
|
mkdir -p "$MESON_DIST_ROOT/docs/"
|
||||||
|
copy_from_build /docs/api/
|
||||||
|
copy_from_build /docs/libnm/
|
||||||
|
copy_from_build /man/
|
Reference in New Issue
Block a user