summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/api/meson.build17
-rw-r--r--introspection/meson.build12
-rw-r--r--man/meson.build2
-rw-r--r--meson.build1
4 files changed, 28 insertions, 4 deletions
diff --git a/docs/api/meson.build b/docs/api/meson.build
index d0cc3ac8cf..31b9776c88 100644
--- a/docs/api/meson.build
+++ b/docs/api/meson.build
@@ -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,
diff --git a/introspection/meson.build b/introspection/meson.build
index a554083684..35d8c87c42 100644
--- a/introspection/meson.build
+++ b/introspection/meson.build
@@ -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(
diff --git a/man/meson.build b/man/meson.build
index 63348054c7..21fac21d1d 100644
--- a/man/meson.build
+++ b/man/meson.build
@@ -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)
diff --git a/meson.build b/meson.build
index 4dab561d07..278f5a2c3c 100644
--- a/meson.build
+++ b/meson.build
@@ -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