mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-26 08:50:07 +01:00
build: meson: fix generation of api docs
We need to copy all introspection files to the same directory when building the documentation. Note that we only require Meson 0.44, but for the documentation at least 0.46 is needed because of a new functionality of gnome.gdbus_codegen(). In this way we can still build on Travis CI (without documentation).
This commit is contained in:
parent
929298333e
commit
dcfddeef7a
4 changed files with 28 additions and 4 deletions
|
|
@ -21,6 +21,23 @@ configure_file(
|
|||
)
|
||||
|
||||
content_files += join_paths(meson.source_root(), 'COPYING')
|
||||
filecopier = find_program('cp')
|
||||
foreach intro : introspection_files
|
||||
path = intro.full_path().split('/')[-1]
|
||||
custom_target(path,
|
||||
input: intro,
|
||||
output: path,
|
||||
command : [filecopier, '@INPUT@', '@OUTPUT@'],
|
||||
build_by_default: true,
|
||||
)
|
||||
endforeach
|
||||
|
||||
custom_target('common.ent',
|
||||
input: common_ent_file,
|
||||
output: 'common.ent',
|
||||
command: [filecopier, '@INPUT@', '@OUTPUT@'],
|
||||
build_by_default: true,
|
||||
)
|
||||
|
||||
gnome.gtkdoc(
|
||||
doc_module,
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ ifaces = [
|
|||
|
||||
ifaces_xmls = []
|
||||
sources = []
|
||||
introspection_files = []
|
||||
|
||||
# FIXME?: DBUS_INTERFACE_DOCS/docbook files are generated in
|
||||
# "meson.current_build_dir()" instead of "meson.source_root()/docs/api"
|
||||
|
|
@ -60,7 +61,7 @@ foreach iface: ifaces
|
|||
iface_xml = iface + '.xml'
|
||||
ifaces_xmls += files(iface_xml)
|
||||
|
||||
sources += gnome.gdbus_codegen(
|
||||
res = gnome.gdbus_codegen(
|
||||
iface,
|
||||
iface_xml,
|
||||
interface_prefix: 'org.freedesktop.NetworkManager',
|
||||
|
|
@ -68,8 +69,15 @@ foreach iface: ifaces
|
|||
docbook: 'dbus'
|
||||
)
|
||||
|
||||
# FIXME: gnome.gdbus_codegen should return the docbook as a target result
|
||||
sources += res
|
||||
|
||||
content_files += join_paths(meson.current_build_dir(), 'dbus-' + iface_xml)
|
||||
|
||||
# res is an array only since 0.46. Documentation won't work with
|
||||
# older versions
|
||||
if meson.version().version_compare('>= 0.46.0')
|
||||
introspection_files += res[2]
|
||||
endif
|
||||
endforeach
|
||||
|
||||
install_data(
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@ if enable_ovs
|
|||
mans += [['nm-openvswitch', '7']]
|
||||
endif
|
||||
|
||||
content_files += join_paths(meson.current_build_dir(), 'common.ent')
|
||||
|
||||
foreach man: mans
|
||||
input = man[0] + '.xml'
|
||||
content_files += join_paths(meson.current_source_dir(), input)
|
||||
|
|
|
|||
|
|
@ -879,6 +879,7 @@ enable_docs = get_option('docs')
|
|||
|
||||
if enable_docs
|
||||
assert(enable_introspection, '-Ddocs=true requires -Dintrospection=true')
|
||||
assert(meson.version().version_compare('>= 0.46.0'), '-Ddocs requires meson >= 0.46')
|
||||
subdir('man')
|
||||
subdir('docs')
|
||||
endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue