[gupnp/wip/phako/cleanup] doc: Check for stylesheet existence on doc build



commit 7ce37c94596029358a67d732a82e4313f7b89135
Author: Jens Georg <mail jensge org>
Date:   Sun May 30 13:13:00 2021 +0200

    doc: Check for stylesheet existence on doc build
    
    Checking for xsltproc is not enough
    
    Fixes #17

 doc/meson.build | 34 +++++++++++++++++++++++++---------
 1 file changed, 25 insertions(+), 9 deletions(-)
---
diff --git a/doc/meson.build b/doc/meson.build
index 26c32c9..eb69d07 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -30,6 +30,8 @@ endif
 
 xsltproc = find_program('xsltproc', required: false)
 if xsltproc.found()
+    stylesheet = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
+
     xlstproc_flags = [
         '--nonet',
         '--xinclude',
@@ -45,17 +47,31 @@ if xsltproc.found()
         xsltproc,
         xlstproc_flags,
         '-o', '@OUTPUT@',
-        'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
+        stylesheet,
         '@INPUT@'
     ]
 
-    custom_target(
-        'man 1 pages',
-        input: 'gupnp-binding-tool.xml',
-        output: 'gupnp-binding-tool-1.2.1',
-        command: xsltproc_args,
-        depend_files : version_xml,
-        install: true,
-        install_dir: join_paths(get_option('mandir'), 'man1')
+    stylesheet_check = run_command(
+        [
+            xsltproc,
+            xlstproc_flags,
+            '--noout',
+            stylesheet,
+            'gupnp-binding-tool.xml'
+        ]
     )
+    if (stylesheet_check.returncode() == 0)
+        message('Stylesheet ' + stylesheet + ' available')
+        custom_target(
+            'man 1 pages',
+            input: 'gupnp-binding-tool.xml',
+            output: 'gupnp-binding-tool-1.2.1',
+            command: xsltproc_args,
+            depend_files : version_xml,
+            install: true,
+            install_dir: join_paths(get_option('mandir'), 'man1')
+        )
+    else
+        message('Stylesheet ' + stylesheet + ' not found, not building man page')
+    endif
 endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]