summaryrefslogtreecommitdiff
path: root/devel-docs/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'devel-docs/meson.build')
-rw-r--r--devel-docs/meson.build42
1 files changed, 42 insertions, 0 deletions
diff --git a/devel-docs/meson.build b/devel-docs/meson.build
new file mode 100644
index 00000000..d8978fcc
--- /dev/null
+++ b/devel-docs/meson.build
@@ -0,0 +1,42 @@
+gdbus_codegen = find_program('gdbus-codegen',
+ native: true,
+ required: get_option('docs'))
+
+sphinx_build = find_program('sphinx-build',
+ native: true,
+ required: get_option('docs'))
+
+interfaces_rst_sources = []
+interfaces_xml = []
+
+foreach i: introspection_sources
+ # /foo/bar/baz.xml -> doc-baz.rst
+ doc_name = 'doc-' + fs.replace_suffix(fs.name(i), '.rst')
+ interfaces_rst_sources += doc_name
+
+ interfaces_xml += join_paths(meson.project_source_root(), 'xml', i)
+endforeach
+
+interfaces_rst = custom_target(
+ 'interfaces_rst',
+ input: interfaces_xml,
+ output: interfaces_rst_sources,
+ command: [ gdbus_codegen, '--generate-rst', 'doc', '@INPUT@']
+)
+
+docs_sources = [
+ 'atk-deprecations.rst',
+ 'de-controller.rst',
+ 'gitlab-ci.rst',
+ 'index.rst',
+ 'roadmap.rst',
+ 'toolkits.rst',
+ 'xml-changes.rst',
+]
+
+custom_target(
+ 'devel_docs',
+ input: docs_sources + interfaces_rst,
+ output: 'devel-docs',
+ command: [ sphinx_build, meson.current_source_dir(), '@OUTPUT@' ],
+)