summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2020-12-19 01:04:41 +0100
committerJens Georg <mail@jensge.org>2020-12-19 17:47:54 +0100
commit774475787e7cf59b8d10a104f12904560bf31b88 (patch)
tree0d4f286113f0e9a38262199c9a9ddfc2fe0cd5f5
parentcc7da54ef7849d494209e2337c9150950604dae7 (diff)
downloadrygel-wip/phako/190.tar.gz
wip: Fix gtkdoc generation and installationwip/phako/190
Fixes #190
-rw-r--r--build-aux/meson/install-gtkdoc.py15
-rw-r--r--doc/reference/librygel-core/gtkdoc/meson.build2
-rw-r--r--doc/reference/librygel-core/meson.build13
-rw-r--r--doc/reference/librygel-db/gtkdoc/meson.build2
-rw-r--r--doc/reference/librygel-db/meson.build10
-rw-r--r--doc/reference/librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml8
-rw-r--r--doc/reference/librygel-renderer-gst/gtkdoc/meson.build3
-rw-r--r--doc/reference/librygel-renderer-gst/meson.build10
-rw-r--r--doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml16
-rw-r--r--doc/reference/librygel-renderer/gtkdoc/implementing-renderers.xml2
-rw-r--r--doc/reference/librygel-renderer/gtkdoc/meson.build4
-rw-r--r--doc/reference/librygel-renderer/meson.build10
-rw-r--r--doc/reference/librygel-server/gtkdoc/implementing-media-engines.xml4
-rw-r--r--doc/reference/librygel-server/gtkdoc/implementing-server-plugins.xml24
-rw-r--r--doc/reference/librygel-server/gtkdoc/implementing-servers.xml8
-rw-r--r--doc/reference/librygel-server/gtkdoc/meson.build5
-rw-r--r--doc/reference/librygel-server/meson.build10
-rw-r--r--meson.build5
18 files changed, 88 insertions, 63 deletions
diff --git a/build-aux/meson/install-gtkdoc.py b/build-aux/meson/install-gtkdoc.py
new file mode 100644
index 00000000..e391a69a
--- /dev/null
+++ b/build-aux/meson/install-gtkdoc.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+import sys
+from os import environ, path, getcwd
+import shutil
+
+destdir = environ.get('MESON_INSTALL_DESTDIR_PREFIX', '')
+
+a = path.join(sys.argv[1], 'html')
+b = path.join(destdir, sys.argv[2])
+
+print(a,b)
+shutil.copytree(a, b, dirs_exist_ok=True)
+
+
diff --git a/doc/reference/librygel-core/gtkdoc/meson.build b/doc/reference/librygel-core/gtkdoc/meson.build
new file mode 100644
index 00000000..da1cf315
--- /dev/null
+++ b/doc/reference/librygel-core/gtkdoc/meson.build
@@ -0,0 +1,2 @@
+configure_file(input: 'librygel-core-docs.xml', output: 'librygel-core-docs.xml', copy: true)
+configure_file(input: 'overview.xml', output: 'overview.xml', copy: true)
diff --git a/doc/reference/librygel-core/meson.build b/doc/reference/librygel-core/meson.build
index 8a74cc90..f4ceca96 100644
--- a/doc/reference/librygel-core/meson.build
+++ b/doc/reference/librygel-core/meson.build
@@ -22,22 +22,22 @@ custom_target('valadoc-core',
[
valadoc,
core_doc_common_args,
- '-o', 'valadoc',
core_sources
]
)
if gtkdoc.found()
-custom_target('gtkdoc-core',
+ subdir('gtkdoc')
+
+gtkdoc_core_target = custom_target('gtkdoc-core',
input: core_sources,
output: 'gtkdoc',
depends : core_lib,
build_by_default : get_option('api-docs'),
- command :
+ command:
[
valadoc,
'--doclet', 'gtkdoc',
- '-o', 'gtkdoc',
core_doc_common_args,
'-X', join_paths(meson.build_root(), 'src/librygel-core/rygel-core.h'),
'-X', '-l',
@@ -48,9 +48,8 @@ custom_target('gtkdoc-core',
)
if get_option('api-docs')
- install_subdir('gtkdoc/html',
- install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/librygel-core'),
- strip_directory : true)
+ meson.add_install_script(install_doc, gtkdoc_core_target,
+ join_paths(get_option('datadir'), 'gtk-doc/html/librygel-core'))
endif
endif
endif
diff --git a/doc/reference/librygel-db/gtkdoc/meson.build b/doc/reference/librygel-db/gtkdoc/meson.build
new file mode 100644
index 00000000..cb778cf4
--- /dev/null
+++ b/doc/reference/librygel-db/gtkdoc/meson.build
@@ -0,0 +1,2 @@
+configure_file(input: 'librygel-db-docs.xml', output: 'librygel-db-docs.xml', copy: true)
+configure_file(input: 'overview.xml', output: 'overview.xml', copy: true)
diff --git a/doc/reference/librygel-db/meson.build b/doc/reference/librygel-db/meson.build
index 3463c56e..9c6fffd5 100644
--- a/doc/reference/librygel-db/meson.build
+++ b/doc/reference/librygel-db/meson.build
@@ -28,13 +28,13 @@ custom_target('valadoc-db',
[
valadoc,
db_doc_common_args,
- '-o', 'valadoc',
db_sources
]
)
if gtkdoc.found()
-custom_target('gtkdoc-db',
+subdir('gtkdoc')
+gtkdoc_db_target = custom_target('gtkdoc-db',
input: db_sources,
output: 'gtkdoc',
depends : db_lib,
@@ -44,7 +44,6 @@ custom_target('gtkdoc-db',
valadoc,
db_doc_common_args,
'--doclet', 'gtkdoc',
- '-o', 'gtkdoc',
'-X', join_paths(meson.build_root(), 'src/librygel-db/rygel-db.h'),
'-X', '-l',
'-X', join_paths(meson.build_root(), 'src/librygel-db/librygel-db-2.6.so'),
@@ -55,9 +54,8 @@ custom_target('gtkdoc-db',
)
if get_option('api-docs')
- install_subdir('gtkdoc/html',
- install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/librygel-db'),
- strip_directory : true)
+ meson.add_install_script(install_doc, gtkdoc_db_target,
+ join_paths(get_option('datadir'), 'gtk-doc/html/librygel-db'))
endif
endif
diff --git a/doc/reference/librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml b/doc/reference/librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml
index 484d9cfe..55315ba5 100644
--- a/doc/reference/librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml
+++ b/doc/reference/librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml
@@ -11,12 +11,12 @@
<title>Implementing GStreamer-based Renderers: Overview</title>
<para>
-This library may be used to create in-process UPnP/DLNA Renderers, or Players based on GStreamer, via
+This library may be used to create in-process UPnP/DLNA Renderers, or Players based on GStreamer, via
the <link linkend="RygelPlaybinRenderer">RygelPlaybinRenderer</link> class. For instance,
this may be used to add UPnP/DLNA Renderer or Player capability to an existing GStreamer-based media player application.
</para>
-<para>The <link linkend="RygelPlaybinRenderer">RygelPlaybinRenderer</link> reference documentation
+<para>The <link linkend="RygelPlaybinRenderer">RygelPlaybinRenderer</link> reference documentation
and these examples explain how to implement renderers.
</para>
@@ -33,7 +33,7 @@ and connect it to a network interface, rendering the content to stdout as ASCII.
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
<programlisting role="C">
-<xi:include href="../../../../examples/standalone-renderer-gst.c"
+<xi:include href="@EXAMPLEDIR@/standalone-renderer-gst.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
@@ -50,7 +50,7 @@ This slightly fuller example program shows how to instantiate the renderer then
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
<programlisting role="C">
-<xi:include href="../../../../examples/fullscreen-renderer.c"
+<xi:include href="@EXAMPLEDIR@/fullscreen-renderer.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
diff --git a/doc/reference/librygel-renderer-gst/gtkdoc/meson.build b/doc/reference/librygel-renderer-gst/gtkdoc/meson.build
new file mode 100644
index 00000000..51207b0e
--- /dev/null
+++ b/doc/reference/librygel-renderer-gst/gtkdoc/meson.build
@@ -0,0 +1,3 @@
+configure_file(input: 'librygel-renderer-gst-docs.xml', output: 'librygel-renderer-gst-docs.xml', configuration: conf)
+configure_file(input: 'implementing-renderers-gst.xml', output: 'implementing-renderers-gst.xml', configuration: conf)
+configure_file(input: 'overview.xml', output: 'overview.xml', copy: true)
diff --git a/doc/reference/librygel-renderer-gst/meson.build b/doc/reference/librygel-renderer-gst/meson.build
index 21977856..51e95d72 100644
--- a/doc/reference/librygel-renderer-gst/meson.build
+++ b/doc/reference/librygel-renderer-gst/meson.build
@@ -31,13 +31,13 @@ custom_target('valadoc-renderer-gst',
[
valadoc,
renderer_gst_doc_common_args,
- '-o', 'valadoc',
renderer_gst_sources
]
)
if gtkdoc.found()
-custom_target('gtkdoc-renderer-gst',
+subdir('gtkdoc')
+gtkdoc_renderer_gst_target = custom_target('gtkdoc-renderer-gst',
input: renderer_gst_sources,
output: 'gtkdoc',
depends : renderer_gst_lib,
@@ -47,7 +47,6 @@ custom_target('gtkdoc-renderer-gst',
valadoc,
renderer_gst_doc_common_args,
'--doclet', 'gtkdoc',
- '-o', 'gtkdoc',
'-X', join_paths(meson.build_root(), 'src/librygel-renderer/rygel-renderer.h'),
'-X', '-l',
'-X', join_paths(meson.build_root(), 'src/librygel-renderer/librygel-renderer-2.6.so'),
@@ -59,9 +58,8 @@ custom_target('gtkdoc-renderer-gst',
]
)
if get_option('api-docs')
- install_subdir('gtkdoc/html',
- install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/librygel-renderer-gst'),
- strip_directory : true)
+ meson.add_install_script(install_doc, gtkdoc_renderer_gst_target,
+ join_paths(get_option('datadir'), 'gtk-doc/html/librygel-renderer-gst'))
endif
endif
endif
diff --git a/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml b/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml
index 2755f845..19962708 100644
--- a/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml
+++ b/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml
@@ -14,11 +14,11 @@
<para>
-This library may be used to create Rygel renderer plugins by
+This library may be used to create Rygel renderer plugins by
implementing the <link linkend="RygelMediaRendererPlugin">RygelMediaRendererPlugin</link> class.
</para>
-<para>The <link linkend="RygelMediaRendererPlugin">RygelMediaRendererPlugin</link> reference documentation
+<para>The <link linkend="RygelMediaRendererPlugin">RygelMediaRendererPlugin</link> reference documentation
and this example explain how to implement these plugins.
</para>
@@ -31,8 +31,8 @@ and this example explain how to implement these plugins.
<para>
This example source code shows how to implement a Rygel Renderer plugin.</para>
-<para>This example implements module that provides a <link linkend="RygelMediaPlayer">RygelMediaPlayer</link>
-that simply prints the addresses of any URIs provided to it by a UPnP/DLNA controller. A real Rygel renderer
+<para>This example implements module that provides a <link linkend="RygelMediaPlayer">RygelMediaPlayer</link>
+that simply prints the addresses of any URIs provided to it by a UPnP/DLNA controller. A real Rygel renderer
plugin's player would render the actual media content to some device. See, for instance, the
<ulink url="&url_refdocs_librygel_renderer_gst;RygelPlaybinPlayer.html">RygelPlaybinPlayer</ulink> from the
librygel-renderer-gst library, used in the <ulink url="&url_git_browse_base_src;plugins/playbin/">Rygel Playbin plugin</ulink>.
@@ -40,22 +40,22 @@ librygel-renderer-gst library, used in the <ulink url="&url_git_browse_base_src;
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
<programlisting role="C">
-<xi:include href="../../../../examples/renderer-plugins/C/example-renderer-plugin.h"
+<xi:include href="@EXAMPLEDIR@/renderer-plugins/C/example-renderer-plugin.h"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
<programlisting role="C">
-<xi:include href="../../../../examples/renderer-plugins/C/example-renderer-plugin.c"
+<xi:include href="@EXAMPLEDIR@/renderer-plugins/C/example-renderer-plugin.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
<programlisting role="C">
-<xi:include href="../../../../examples/renderer-plugins/C/example-player.h"
+<xi:include href="@EXAMPLEDIR@/renderer-plugins/C/example-player.h"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
<programlisting role="C">
-<xi:include href="../../../../examples/renderer-plugins/C/example-player.c"
+<xi:include href="@EXAMPLEDIR@/renderer-plugins/C/example-player.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
diff --git a/doc/reference/librygel-renderer/gtkdoc/implementing-renderers.xml b/doc/reference/librygel-renderer/gtkdoc/implementing-renderers.xml
index b85a15ee..58c65b7b 100644
--- a/doc/reference/librygel-renderer/gtkdoc/implementing-renderers.xml
+++ b/doc/reference/librygel-renderer/gtkdoc/implementing-renderers.xml
@@ -40,7 +40,7 @@ and connect it to a network interface.
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
<!--
<programlisting role="C">
-<xi:include href="../../../../examples/standalone-renderer.c"
+<xi:include href="@EXAMPLEDIR@/standalone-renderer.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
diff --git a/doc/reference/librygel-renderer/gtkdoc/meson.build b/doc/reference/librygel-renderer/gtkdoc/meson.build
new file mode 100644
index 00000000..9bfbd3a3
--- /dev/null
+++ b/doc/reference/librygel-renderer/gtkdoc/meson.build
@@ -0,0 +1,4 @@
+configure_file(input: 'librygel-renderer-docs.xml', output: 'librygel-renderer-docs.xml', copy: true)
+configure_file(input: 'overview.xml', output: 'overview.xml', copy: true)
+configure_file(input: 'implementing-renderer-plugins.xml', output: 'implementing-renderer-plugins.xml', configuration: conf)
+configure_file(input: 'implementing-renderers.xml', output: 'implementing-renderers.xml', configuration: conf)
diff --git a/doc/reference/librygel-renderer/meson.build b/doc/reference/librygel-renderer/meson.build
index a2826425..1b2532f8 100644
--- a/doc/reference/librygel-renderer/meson.build
+++ b/doc/reference/librygel-renderer/meson.build
@@ -27,13 +27,13 @@ custom_target('valadoc-renderer',
[
valadoc,
renderer_doc_common_args,
- '-o', 'valadoc',
renderer_sources
]
)
if gtkdoc.found()
-custom_target('gtkdoc-renderer',
+subdir('gtkdoc')
+gtkdoc_renderer_target = custom_target('gtkdoc-renderer',
input: renderer_sources,
output: 'gtkdoc',
depends : renderer_lib,
@@ -43,7 +43,6 @@ custom_target('gtkdoc-renderer',
valadoc,
renderer_doc_common_args,
'--doclet', 'gtkdoc',
- '-o', 'gtkdoc',
'-X', join_paths(meson.build_root(), 'src/librygel-renderer/rygel-renderer.h'),
'-X', '-l',
'-X', join_paths(meson.build_root(), 'src/librygel-renderer/librygel-renderer-2.6.so'),
@@ -53,9 +52,8 @@ custom_target('gtkdoc-renderer',
]
)
if get_option('api-docs')
- install_subdir('gtkdoc/html',
- install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/librygel-renderer'),
- strip_directory : true)
+ meson.add_install_script(install_doc, gtkdoc_renderer_target,
+ join_paths(get_option('datadir'), 'gtk-doc/html/librygel-renderer'))
endif
endif
endif
diff --git a/doc/reference/librygel-server/gtkdoc/implementing-media-engines.xml b/doc/reference/librygel-server/gtkdoc/implementing-media-engines.xml
index ab0f43ea..68bf3f13 100644
--- a/doc/reference/librygel-server/gtkdoc/implementing-media-engines.xml
+++ b/doc/reference/librygel-server/gtkdoc/implementing-media-engines.xml
@@ -11,9 +11,9 @@
<title>Implementing Media Engines: Overview</title>
<para>
-This library may be used to create Rygel media engines by
+This library may be used to create Rygel media engines by
implementing the <link linkend="RygelMediaEngine">RygelMediaEngine</link> class.
-Rygel media engines contain knowledge about the streaming and (optionally) the
+Rygel media engines contain knowledge about the streaming and (optionally) the
transcoding and seeking capabilites of the media library in use.</para>
<para>The actual media engine used by Rygel at runtime is specified
diff --git a/doc/reference/librygel-server/gtkdoc/implementing-server-plugins.xml b/doc/reference/librygel-server/gtkdoc/implementing-server-plugins.xml
index 5be0903f..9ae1c288 100644
--- a/doc/reference/librygel-server/gtkdoc/implementing-server-plugins.xml
+++ b/doc/reference/librygel-server/gtkdoc/implementing-server-plugins.xml
@@ -12,10 +12,10 @@
<title>Implementing Server Plugins: Overview</title>
<para>
-This library may be used to create Rygel server plugins by
+This library may be used to create Rygel server plugins by
implementing the <link linkend="RygelMediaServerPlugin">RygelMediaServerPlugin</link> class.</para>
-<para>The <link linkend="RygelMediaServerPlugin">RygelMediaServerPlugin</link> reference documentation
+<para>The <link linkend="RygelMediaServerPlugin">RygelMediaServerPlugin</link> reference documentation
and these examples explain how to implement these plugins.
</para>
@@ -32,30 +32,30 @@ This example source code shows how to implement a Rygel Server plugin.</para>
deriving from <link linkend="RygelSimpleContainer">RygelSimpleContainer</link> and adding some
hard-coded items. A real Rygel server plugin's root container, or its child items, would typically
populate themselves dynamically. For instance, they might add and remove items based on some source
-such as a file system or database. See, for instance, the
+such as a file system or database. See, for instance, the
<ulink url="&url_git_browse_base_src;plugins/tracker">Rygel Tracker Plugin</ulink> or the
<ulink url="&url_git_browse_base_src;plugins/media-export">Rygel MediaExport Plugin</ulink> plugins,
implemented in Vala.
</para>
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
-<programlisting role="C">
-<xi:include href="../../../../examples/server-plugins/C/example-server-plugin.h"
+<programlisting language="C">
+<xi:include href="@EXAMPLEDIR@/server-plugins/C/example-server-plugin.h"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
-<programlisting role="C">
-<xi:include href="../../../../examples/server-plugins/C/example-server-plugin.c"
+<programlisting language="C">
+<xi:include href="@EXAMPLEDIR@/server-plugins/C/example-server-plugin.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
-<programlisting role="C">
-<xi:include href="../../../../examples/server-plugins/C/example-root-container.h"
+<programlisting language="C">
+<xi:include href="@EXAMPLEDIR@/server-plugins/C/example-root-container.h"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
-<programlisting role="C">
-<xi:include href="../../../../examples/server-plugins/C/example-root-container.c"
+<programlisting language="C">
+<xi:include href="@EXAMPLEDIR@/server-plugins/C/example-root-container.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
@@ -73,7 +73,7 @@ implemented in Vala.
<para>The <classname>RygelMediaExportRootContainer</classname> creates an instance of a <classname>RygelMediaExportMediaCache</classname> class and a <classname>RygelMediaExportHarvester</classname> class. The harvester finds files on the filesystem, and stores them in the media cache, which uses SQLite to keep track of them.</para>
-<para><classname>RygelMediaExportRootContainer</classname> informs the media cache that it should have a child container for the media content as organised on the filesystem, and additionally some virtual folders for Music, Pictures, Video and Playlists, with further sub-divisions under these, for instance by publication year. These containers are added to the media cache via instances of the <classname>RygelMediaExportNullContainer</classname> class, but that is just to simplify the media cache API and these instances then serve no further purpose. The virtual folders are re-added whenever the filesystem's container is updated, so that they can show the updated
+<para><classname>RygelMediaExportRootContainer</classname> informs the media cache that it should have a child container for the media content as organised on the filesystem, and additionally some virtual folders for Music, Pictures, Video and Playlists, with further sub-divisions under these, for instance by publication year. These containers are added to the media cache via instances of the <classname>RygelMediaExportNullContainer</classname> class, but that is just to simplify the media cache API and these instances then serve no further purpose. The virtual folders are re-added whenever the filesystem's container is updated, so that they can show the updated
content, though that is not particularly efficient.</para>
<para><classname>RygelMediaExportRootContainer</classname> then delegates its <classname>RygelMediaContainer</classname> virtual function implementations to this media cache, which in turn uses the <classname>RygelMediaExportObjectFactory</classname> to instantiate new containers for each request based on their ID. For instance, it returns a <classname>RygelMediaExportDBContainer</classname> if the requested ID indicates a virtual container, using the definition in the rest of the ID to build a suitable SQL query.</para>
diff --git a/doc/reference/librygel-server/gtkdoc/implementing-servers.xml b/doc/reference/librygel-server/gtkdoc/implementing-servers.xml
index ca9171c9..3b08007b 100644
--- a/doc/reference/librygel-server/gtkdoc/implementing-servers.xml
+++ b/doc/reference/librygel-server/gtkdoc/implementing-servers.xml
@@ -14,7 +14,7 @@
This library may be used to create UPnP or DLNA servers via its <link linkend="RygelMediaServer">RygelMediaServer</link> class.
</para>
-<para>The <link linkend="RygelMediaServer">RygelMediaServer</link> reference documentation
+<para>The <link linkend="RygelMediaServer">RygelMediaServer</link> reference documentation
and this example explains how to implement a server.
</para>
@@ -25,13 +25,13 @@ and this example explains how to implement a server.
<!-- TODO: Find a way to mention this C example code in the RygelMediaServer valadoc comments instead. -->
<para>
-This example program shows how to fill a container with media items and then instantiate a server to serve
+This example program shows how to fill a container with media items and then instantiate a server to serve
them.
</para>
<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
-<programlisting role="C">
-<xi:include href="../../../../examples/standalone-server.c"
+<programlisting languae="C">
+ <xi:include href="@EXAMPLEDIR@/standalone-server.c"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</programlisting>
diff --git a/doc/reference/librygel-server/gtkdoc/meson.build b/doc/reference/librygel-server/gtkdoc/meson.build
new file mode 100644
index 00000000..d568a646
--- /dev/null
+++ b/doc/reference/librygel-server/gtkdoc/meson.build
@@ -0,0 +1,5 @@
+configure_file(input: 'librygel-server-docs.xml', output: 'librygel-server-docs.xml', copy: true)
+configure_file(input: 'implementing-media-engines.xml', output: 'implementing-media-engines.xml', copy: true)
+configure_file(input: 'implementing-server-plugins.xml', output: 'implementing-server-plugins.xml', configuration: conf)
+configure_file(input: 'implementing-servers.xml', output: 'implementing-servers.xml', configuration: conf)
+configure_file(input: 'overview.xml', output: 'overview.xml', copy: true)
diff --git a/doc/reference/librygel-server/meson.build b/doc/reference/librygel-server/meson.build
index d0bf4bf7..390e575a 100644
--- a/doc/reference/librygel-server/meson.build
+++ b/doc/reference/librygel-server/meson.build
@@ -28,13 +28,13 @@ custom_target('valadoc-server',
[
valadoc,
server_doc_common_args,
- '-o', 'valadoc',
server_sources
]
)
if gtkdoc.found()
-custom_target('gtkdoc-server',
+subdir('gtkdoc')
+gtkdoc_server_target = custom_target('gtkdoc-server',
input: server_sources,
output: 'gtkdoc',
depends : server_lib,
@@ -44,7 +44,6 @@ custom_target('gtkdoc-server',
valadoc,
server_doc_common_args,
'--doclet', 'gtkdoc',
- '-o', 'gtkdoc',
'-X', join_paths(meson.build_root(), 'src/librygel-server/rygel-server.h'),
'-X', '-l',
'-X', join_paths(meson.build_root(), 'src/librygel-server/librygel-server-2.6.so'),
@@ -54,9 +53,8 @@ custom_target('gtkdoc-server',
]
)
if get_option('api-docs')
- install_subdir('gtkdoc/html',
- install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/librygel-server'),
- strip_directory : true)
+ meson.add_install_script(install_doc, gtkdoc_server_target,
+ join_paths(get_option('datadir'), 'gtk-doc/html/librygel-server'))
endif
endif
endif
diff --git a/meson.build b/meson.build
index 4aa683d6..48301dce 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('rygel', 'vala', 'c', version : '0.40.0', meson_version : '>= 0.50.0')
+project('rygel', 'vala', 'c', version : '0.40.0', meson_version : '>= 0.55.0')
vala = meson.get_compiler('vala')
# Check for the required vala version
@@ -9,6 +9,8 @@ if not vala_version_found.version_compare(vala_version_required)
error('Found Vala version @0@, need @1@'.format(vala_version_found, vala_version_required))
endif
+install_doc = find_program('build-aux/meson/install-gtkdoc.py')
+
i18n = import('i18n')
gnome = import('gnome')
@@ -60,6 +62,7 @@ conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('locale
conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract'))
conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications'))
conf.set_quoted('VERSION', meson.project_version())
+conf.set('EXAMPLEDIR', join_paths(meson.current_source_dir(), 'examples'))
config_include = include_directories('.')
add_global_arguments(['-include','config.h'], language : 'c')