]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: docs: build *.html files from *.rst files
authorPavel Hrdina <phrdina@redhat.com>
Thu, 18 Jun 2020 00:25:19 +0000 (02:25 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:06 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
docs/Makefile.am
docs/meson.build

index 4e69f9ae7fa2eaa9b4e6f026c11a00f435295fff..f1ac68f1d50458f4f37ab8febd66a07c6bb2c5be 100644 (file)
@@ -281,10 +281,7 @@ manpages_DATA = $(manpages_html)
 dot_html_generated_in = \
   hvsupport.html.in \
   $(NULL)
-dot_rst = \
-  $(notdir $(wildcard $(srcdir)/*.rst))
 dot_rst_html_in = \
-  $(dot_rst:%.rst=%.html.in) \
   news.html.in \
   $(NULL)
 dot_html = \
index 9b7733a90cb6f09112894f84619c5e3fa628f43f..ee2b1d0637b24aface80b0e6807a1fe242dd15e6 100644 (file)
@@ -105,6 +105,27 @@ docs_html_in_files = [
   'windows',
 ]
 
+docs_rst_files = [
+  'advanced-tests',
+  'best-practices',
+  'ci',
+  'coding-style',
+  'committer-guidelines',
+  'daemons',
+  'developer-tooling',
+  'formatbackup',
+  'formatcheckpoint',
+  'hacking',
+  'libvirt-go',
+  'libvirt-go-xml',
+  'newreposetup',
+  'pci-addresses',
+  'platforms',
+  'programming-languages',
+  'styleguide',
+  'submitting-patches',
+]
+
 install_data(docs_assets, install_dir: docs_html_dir)
 
 aclperms_gen = custom_target(
@@ -191,3 +212,46 @@ foreach name : docs_html_in_files
     install_dir: docs_html_dir,
   )
 endforeach
+
+
+# docs_html_in_gen:
+#   each entry is a dictionary with following items:
+#   name - base file name (required)
+#   file - generated file (required)
+docs_html_in_gen = []
+
+foreach name : docs_rst_files
+  rst_file = '@0@.rst'.format(name)
+  docs_html_in_gen += {
+    'name': name,
+    'file': docs_rst2html_gen.process(rst_file),
+  }
+endforeach
+
+foreach data : docs_html_in_gen
+  html_file = '@0@.html'.format(data['name'])
+  rst_in_file = '@0@.rst'.format(data['name'])
+
+  custom_target(
+    html_file,
+    input: data['file'],
+    output: html_file,
+    command: [
+      meson_python_prog,
+      python3_prog.path(),
+      meson_html_gen_prog.path(),
+      xsltproc_prog.path(),
+      xmllint_prog.path(),
+      meson.build_root(),
+      docs_timestamp,
+      site_xsl,
+      '@INPUT@',
+      '@OUTPUT@',
+      rst_in_file,
+    ],
+    depends: [ aclperms_gen ],
+    depend_files: [ page_xsl ],
+    install: true,
+    install_dir: docs_html_dir,
+  )
+endforeach