diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Doxyfile.in (renamed from doc/c/Doxyfile) | 9 | ||||
-rw-r--r-- | doc/api/meson.build | 9 | ||||
-rw-r--r-- | doc/c/index.rst | 10 | ||||
-rw-r--r-- | doc/c/wscript | 43 | ||||
-rw-r--r-- | doc/conf.py.in | 124 | ||||
-rw-r--r-- | doc/html/meson.build | 39 | ||||
-rw-r--r-- | doc/index.rst (renamed from doc/summary.rst) | 14 | ||||
-rw-r--r-- | doc/lv2apply.1 | 100 | ||||
-rw-r--r-- | doc/lv2bench.1 | 55 | ||||
-rw-r--r-- | doc/lv2info.1 | 98 | ||||
-rw-r--r-- | doc/lv2ls.1 | 89 | ||||
-rw-r--r-- | doc/meson.build | 71 | ||||
-rw-r--r-- | doc/overview.rst (renamed from doc/c/overview.rst) | 4 | ||||
-rw-r--r-- | doc/plugins.rst (renamed from doc/c/plugins.rst) | 4 | ||||
-rw-r--r-- | doc/singlehtml/meson.build | 33 | ||||
-rw-r--r-- | doc/uis.rst (renamed from doc/c/uis.rst) | 4 | ||||
-rw-r--r-- | doc/world.rst (renamed from doc/c/world.rst) | 4 | ||||
-rw-r--r-- | doc/xml/meson.build | 36 |
18 files changed, 556 insertions, 190 deletions
diff --git a/doc/c/Doxyfile b/doc/Doxyfile.in index ce10524..2ca5694 100644 --- a/doc/c/Doxyfile +++ b/doc/Doxyfile.in @@ -1,3 +1,6 @@ +# Copyright 2021-2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + PROJECT_NAME = Lilv PROJECT_BRIEF = "A library for simple use of LV2 plugins" @@ -21,6 +24,8 @@ SHOW_FILES = NO MACRO_EXPANSION = YES PREDEFINED = LILV_API LILV_DEPRECATED -INPUT = ../../include/lilv/lilv.h +RECURSIVE = YES +STRIP_FROM_PATH = @LILV_SRCDIR@ +INPUT = @LILV_SRCDIR@/include/lilv/lilv.h -OUTPUT_DIRECTORY = . +OUTPUT_DIRECTORY = @DOX_OUTPUT@ diff --git a/doc/api/meson.build b/doc/api/meson.build new file mode 100644 index 0000000..a470564 --- /dev/null +++ b/doc/api/meson.build @@ -0,0 +1,9 @@ +# Copyright 2021-2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +api_lilv_rst = custom_target( + 'lilv.rst', + command: [sphinxygen, '-f', '@INPUT0@', '@OUTDIR@'], + input: doxygen_xml, + output: 'lilv.rst', +) diff --git a/doc/c/index.rst b/doc/c/index.rst deleted file mode 100644 index 6968981..0000000 --- a/doc/c/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -#### -Lilv -#### - -.. include:: summary.rst - -.. toctree:: - - overview - api/lilv diff --git a/doc/c/wscript b/doc/c/wscript deleted file mode 100644 index d515ddf..0000000 --- a/doc/c/wscript +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python - -def build(bld): - dox_to_sphinx = bld.path.find_node("../../scripts/dox_to_sphinx.py") - index_xml = bld.path.get_bld().make_node("xml/index.xml") - - files = [ - ("../summary.rst", "sphinx/summary.rst"), - ("index.rst", "sphinx/index.rst"), - ("overview.rst", "sphinx/overview.rst"), - ("plugins.rst", "sphinx/plugins.rst"), - ("uis.rst", "sphinx/uis.rst"), - ("world.rst", "sphinx/world.rst"), - ] - - # Run Doxygen to generate XML documentation - bld(features="doxygen", doxyfile="Doxyfile") - - # Substitute variables to make Sphinx configuration file - bld(features="subst", - source="../conf.py.in", - target="sphinx/conf.py", - LILV_VERSION=bld.env.LILV_VERSION) - - # Copy static documentation files to Sphinx build directory - for f in files: - bld(features="subst", is_copy=True, source=f[0], target=f[1]) - - # Generate Sphinx markup from Doxygen XML - bld.add_group() - bld(rule="${PYTHON} " + dox_to_sphinx.abspath() + " -f ${SRC} ${TGT}", - source=index_xml, - target="sphinx/api/") - - doc_dir = bld.env.DOCDIR + "/lilv-%s/" % bld.env.LILV_MAJOR_VERSION - - # Run Sphinx to generate HTML documentation - for builder in ["html", "singlehtml"]: - bld(features="sphinx", - sphinx_source=bld.path.get_bld().make_node("sphinx"), - sphinx_output_format=builder, - sphinx_options=["-E", "-q", "-t", builder], - install_path=doc_dir + "c/%s/" % builder) diff --git a/doc/conf.py.in b/doc/conf.py.in index e62eaff..1831ded 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -1,9 +1,14 @@ +# Copyright 2020-2025 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: ISC + # Project information -project = "Lilv" -copyright = "2020, David Robillard" +project = "@LILV_TITLE@" +copyright = "2020-2025, David Robillard" author = "David Robillard" release = "@LILV_VERSION@" +version = "@LILV_VERSION@" +desc = "A library for loading LV2 plugins" # General configuration @@ -12,6 +17,13 @@ language = "en" nitpicky = True pygments_style = "friendly" +try: + import sphinx_lv2_theme + + have_lv2_theme = True +except ModuleNotFoundError: + have_lv2_theme = False + # Ignore everything opaque or external for nitpicky mode _opaque = [ "FILE", @@ -38,42 +50,78 @@ nitpick_ignore = list(map(lambda x: ("c:identifier", x), _opaque)) # HTML output -html_theme = "sphinx_lv2_theme" html_copy_source = False -html_short_title = "Lilv" - -if tags.has('singlehtml'): - html_sidebars = { - "**": [ - "globaltoc.html", - ] - } - - html_theme_options = { - "body_max_width": "65em", - "body_min_width": "50em", - "description": "A library for loading LV2 plugins", - "show_footer_version": True, - "show_logo_version": False, - "logo_name": True, - "nosidebar": False, - "page_width": "80em", - "sidebar_width": "11em", - "globaltoc_maxdepth": 3, - "globaltoc_collapse": False, - } +html_secnumber_suffix = " " +html_short_title = "@LILV_TITLE@" + +html_theme_options = { + "description": desc, + "logo_name": True, + "logo_width": "8em", +} + +if tags.has("singlehtml"): + html_sidebars = {"**": ["globaltoc.html"]} + html_theme_options.update( + { + "globaltoc_collapse": False, + "globaltoc_maxdepth": 3, + "nosidebar": False, + "page_width": "80em", + } + ) +else: + html_theme_options.update( + { + "globaltoc_collapse": True, + "globaltoc_maxdepth": 1, + "nosidebar": True, + "page_width": "60em", + } + ) + +if have_lv2_theme: + html_theme = "sphinx_lv2_theme" + + html_theme_options.update( + { + "show_footer_version": True, + "show_logo_version": True, + } + ) + + if tags.has("singlehtml"): + html_theme_options.update( + { + "body_max_width": "64em", + "body_min_width": "64em", + "nosidebar": False, + "sidebar_width": "12em", + } + ) + + else: + html_theme_options.update( + { + "body_max_width": "60em", + "body_min_width": "40em", + } + ) else: - html_theme_options = { - "body_max_width": "60em", - "body_min_width": "40em", - "description": "A library for loading LV2 plugins", - "show_footer_version": True, - "show_logo_version": False, - "logo_name": True, - "nosidebar": True, - "page_width": "60em", - "sidebar_width": "14em", - "globaltoc_maxdepth": 1, - "globaltoc_collapse": True, - } + html_theme = "alabaster" + + if tags.has("singlehtml"): + html_theme_options = { + "body_max_width": "58em", + "body_min_width": "40em", + "sidebar_width": "16em", + } + + else: + html_theme_options = { + "body_max_width": "60em", + "body_min_width": "40em", + "nosidebar": True, + "show_relbars": True, + } diff --git a/doc/html/meson.build b/doc/html/meson.build new file mode 100644 index 0000000..59da474 --- /dev/null +++ b/doc/html/meson.build @@ -0,0 +1,39 @@ +# Copyright 2021-2023 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +html_dir = docdir / versioned_name / 'html' + +# TODO: Add install_tag: 'doc' after requiring meson 0.60.0 + +custom_target( + 'html', + build_by_default: true, + command: sphinx_build_command + [ + '-b', 'html', + '-t', 'html', + sphinx_in_dir, + '@OUTDIR@', + ], + input: [api_lilv_rst, conf_py, sphinx_input], + install: true, + install_dir: html_dir, + output: [ + 'index.html', + + '_static', + 'api', + 'genindex.html', + 'overview.html', + 'plugins.html', + 'uis.html', + 'world.html', + ], +) + +if not meson.is_subproject() + summary( + 'HTML', + get_option('prefix') / html_dir, + section: 'Directories', + ) +endif diff --git a/doc/summary.rst b/doc/index.rst index 313ffa8..46a9026 100644 --- a/doc/summary.rst +++ b/doc/index.rst @@ -1,3 +1,11 @@ +.. + Copyright 2020-2022 David Robillard <d@drobilla.net> + SPDX-License-Identifier: ISC + +#### +Lilv +#### + Lilv is a library for working with LV2_ plugins. It provides several types and functions that can be used to discover plugins, investigate their data, load and run them, and save and restore their state. @@ -6,4 +14,10 @@ Lilv is the standard implementation used by nearly all LV2 hosts. It implements the details of the LV2 specification on POSIX, MacOS, and Windows, and provides a simpler portable API for applications. +.. toctree:: + + overview + api/lilv + .. _LV2: http://lv2plug.in/ + diff --git a/doc/lv2apply.1 b/doc/lv2apply.1 index 4877aba..e34a6c6 100644 --- a/doc/lv2apply.1 +++ b/doc/lv2apply.1 @@ -1,34 +1,66 @@ -.TH LV2APPLY 1 "05 Sep 2016" - -.SH NAME -.B lv2apply \- apply an LV2 plugin to an audio file -.SH SYNOPSIS -.B lv2apply [OPTION]... PLUGIN_URI - -.SH OPTIONS -.TP -\fB\-i IN_FILE\fR -Input file - -.TP -\fB\-o OUT_FILE\fR -Output file - -.TP -\fB\-c SYM VAL\fR -Set control port SYM to VAL - -.TP -\fB\-\-help\fR -Display help and exit - -.TP -\fB\-\-version\fR -Display version information and exit - -.SH "SEE ALSO" -.BR lv2ls(1) -.BR lv2info(1) - -.SH AUTHOR -lv2apply was written by David Robillard <d@drobilla.net> +.\" # Copyright 2010-2025 David Robillard <d@drobilla.net> +.\" # SPDX-License-Identifier: ISC +.Dd January 20, 2025 +.Dt LV2APPLY 1 +.Os +.Sh NAME +.Nm lv2apply +.Nd apply an LV2 plugin to an audio file +.Sh SYNOPSIS +.Nm lv2apply +.Op Fl Vh +.Op Fl c Ar symbol value +.Op Fl i Ar in_file +.Op Fl o Ar out_file +.Op Fl Fl help +.Op Fl Fl version +.Ar plugin_uri +.Sh DESCRIPTION +.Nm +runs an LV2 plugin on an audio file and writes the processed output to another. +.Pp +The options are as follows: +.Pp +.Bl -tag -compact -width 3n +.It Fl V , Fl Fl version +Display version information and exit. +.Pp +.It Fl c Ar symbol value +Set control port +.Ar symbol +to +.Ar value. +.Pp +.It Fl h , Fl Fl help +Print the command line options. +.Pp +.It Fl i Ar in_file +Input file path. +.Pp +.It Fl o Ar out_file +Output file path. +.El +.Sh ENVIRONMENT +.Bl -tag -width LV2_PATH -compact +.It Ev LV2_PATH +List of directories to search for LV2 plugin bundles, +in the style of +.Ev PATH . +.El +.Sh EXIT STATUS +.Nm +exits with a status of 0, or non-zero if an error occurred. +.Sh SEE ALSO +.Bl -item -compact +.It +.Xr lv2bench 1 +.It +.Xr lv2info 1 +.It +.Xr lv2ls 1 +.El +.Sh AUTHORS +.Nm +is a part of lilv, by +.An David Robillard +.Aq Mt d@drobilla.net . diff --git a/doc/lv2bench.1 b/doc/lv2bench.1 new file mode 100644 index 0000000..78e1340 --- /dev/null +++ b/doc/lv2bench.1 @@ -0,0 +1,55 @@ +.\" # Copyright 2024-2025 David Robillard <d@drobilla.net> +.\" # SPDX-License-Identifier: ISC +.Dd January 20, 2025 +.Dt LV2BENCH 1 +.Os +.Sh NAME +.Nm lv2bench +.Nd benchmark all installed and supported LV2 plugins +.Sh SYNOPSIS +.Nm lv2bench +.Op Fl fhV +.Op Fl b Ar block_size +.Op Fl n Ar frames +.Op Fl Fl full +.Op Fl Fl help +.Op Fl Fl version +.Sh DESCRIPTION +.Nm +is a simple utility for running basic benchmarks of installed LV2 plugins. +.Pp +The options are as follows: +.Pp +.Bl -tag -compact -width 3n +.It Fl V , Fl Fl version +Display version information and exit. +.Pp +.It Fl b Ar block_size +Block size, in audio frames. +.Pp +.It Fl f , Fl Fl full +Emit full plottable output with values for every block. +.Pp +.It Fl h , Fl Fl help +Print the command line options. +.Pp +.It Fl n Ar frames +Total number of audio frames to process. +.El +.Sh EXIT STATUS +.Nm +exits with a status of 0, or non-zero if an error occurred. +.Sh SEE ALSO +.Bl -item -compact +.It +.Xr lv2apply 1 +.It +.Xr lv2info 1 +.It +.Xr lv2ls 1 +.El +.Sh AUTHORS +.Nm +is a part of lilv, by +.An David Robillard +.Aq Mt d@drobilla.net . diff --git a/doc/lv2info.1 b/doc/lv2info.1 index 32a3bec..8f82f8f 100644 --- a/doc/lv2info.1 +++ b/doc/lv2info.1 @@ -1,33 +1,65 @@ -.TH LV2INFO 1 "05 Sep 2016" - -.SH NAME -.B lv2info \- print information about an installed LV2 plugin -.SH SYNOPSIS -.B lv2info PLUGIN_URI - -.SH OPTIONS -.TP -\fB\-p FILE\fR -Write Turtle description of plugin to FILE - -.TP -\fB\-m FILE\fR -Add record of plugin to manifest FILE - -.TP -\fB\-\-help\fR -Display help and exit - -.TP -\fB\-\-version\fR -Display version information and exit - -.SH "SEE ALSO" -.BR lilv(3), -.BR lv2ls(1) - -.SH AUTHOR -lv2info was written by David Robillard <d@drobilla.net> -.PP -This manual page was written by Jaromír Mikes <mira.mikes@seznam.cz> -and David Robillard <d@drobilla.net> +.\" # Copyright 2009-2025 David Robillard <d@drobilla.net> +.\" # SPDX-License-Identifier: ISC +.Dd January 20, 2025 +.Dt LV2INFO 1 +.Os +.Sh NAME +.Nm lv2info +.Nd print information about an installed LV2 plugin +.Sh SYNOPSIS +.Nm lv2info +.Op Fl hV +.Op Fl m Ar file +.Op Fl p Ar file +.Ar plugin_uri +.Sh DESCRIPTION +.Nm +prints a human-readable summary of information about an LV2 plugin. +.Pp +The plugin must be installed; +.Nm +will search for one with the given +.Ar plugin_uri +in the LV2 path. +.Pp +The options are as follows: +.Pp +.Bl -tag -compact -width 3n +.It Fl V , Fl Fl version +Display version information and exit. +.Pp +.It Fl h , Fl Fl help +Print the command line options. +.Pp +.It Fl m Ar file +Add record of plugin to Turtle manifest +.Ar file . +.Pp +.It Fl p Ar file +Write description of plugin to Turtle +.Ar file . +.El +.Sh ENVIRONMENT +.Bl -tag -width LV2_PATH -compact +.It Ev LV2_PATH +List of directories to search for LV2 plugin bundles, +in the style of +.Ev PATH . +.El +.Sh EXIT STATUS +.Nm +exits with a status of 0, or non-zero if an error occurred. +.Sh SEE ALSO +.Bl -item -compact +.It +.Xr lv2apply 1 +.It +.Xr lv2bench 1 +.It +.Xr lv2ls 1 +.El +.Sh AUTHORS +.Nm +is a part of lilv, by +.An David Robillard +.Aq Mt d@drobilla.net . diff --git a/doc/lv2ls.1 b/doc/lv2ls.1 index 320b71c..7cefb06 100644 --- a/doc/lv2ls.1 +++ b/doc/lv2ls.1 @@ -1,30 +1,59 @@ -.TH LV2LS 1 "26 Aug 2016" - -.SH NAME -.B lv2ls \- list all installed LV2 plugins - -.SH SYNOPSIS -.B lv2ls [OPTION]... - -.SH OPTIONS -.TP -\fB\-n\fR, \fB\-\-names\fR -Show names instead of URIs - -.TP -\fB\-\-help\fR -Display help and exit - -.TP -\fB\-\-version\fR -Display version information and exit - -.SH "SEE ALSO" -.BR lilv(3), -.BR lv2info(1) - -.SH AUTHOR -lv2ls was written by David Robillard <d@drobilla.net> -.PP -This manual page was written by Jaromír Mikes <mira.mikes@seznam.cz> -and David Robillard <d@drobilla.net> +.\" # Copyright 2010-2025 David Robillard <d@drobilla.net> +.\" # SPDX-License-Identifier: ISC +.Dd January 20, 2025 +.Dt LV2LS 1 +.Os +.Sh NAME +.Nm lv2ls +.Nd list all installed LV2 plugins +.Sh SYNOPSIS +.Nm lv2ls +.Op Fl Vhn +.Op Fl Fl help +.Op Fl Fl names +.Op Fl Fl version +.Sh DESCRIPTION +.Nm +prints the URI of every installed LV2 plugin to stdout. +.Pp +Plugins are discovered with the same mechanism used by most hosts. +The default path can be overridden by setting the +.Ev LV2_PATH +environment variable. +.Pp +The options are as follows: +.Pp +.Bl -tag -compact -width 3n +.It Fl V , Fl Fl version +Display version information and exit. +.Pp +.It Fl h , Fl Fl help +Print the command line options. +.Pp +.It Fl n , Fl Fl names +Show names instead of URIs. +.El +.Sh ENVIRONMENT +.Bl -tag -width LV2_PATH -compact +.It Ev LV2_PATH +List of directories to search for LV2 plugin bundles, +in the style of +.Ev PATH . +.El +.Sh EXIT STATUS +.Nm +exits with a status of 0, or non-zero if an error occurred. +.Sh SEE ALSO +.Bl -item -compact +.It +.Xr lv2apply 1 +.It +.Xr lv2bench 1 +.It +.Xr lv2info 1 +.El +.Sh AUTHORS +.Nm +is a part of lilv, by +.An David Robillard +.Aq Mt d@drobilla.net . diff --git a/doc/meson.build b/doc/meson.build new file mode 100644 index 0000000..32a885b --- /dev/null +++ b/doc/meson.build @@ -0,0 +1,71 @@ +# Copyright 2021-2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +docdir = get_option('datadir') / 'doc' + +# Find required programs +doxygen = find_program('doxygen', required: get_option('docs')) +sphinx_build = find_program('sphinx-build', required: get_option('docs')) + +# Find sphinxygen or fall back to subproject +sphinxygen = disabler() +if doxygen.found() and sphinx_build.found() + sphinxygen = find_program('sphinxygen', required: false) + if not sphinxygen.found() + subproject('sphinxygen') + sphinxygen = find_program('sphinxygen', required: get_option('docs')) + endif +endif + +# Build documentation if all required tools are found +build_docs = doxygen.found() and sphinxygen.found() and sphinx_build.found() +if build_docs + # Configure conf.py for Sphinx + conf_config = configuration_data() + conf_config.set('LILV_SRCDIR', lilv_src_root) + conf_config.set('LILV_TITLE', get_option('title')) + conf_config.set('LILV_VERSION', meson.project_version()) + conf_py = configure_file( + configuration: conf_config, + input: files('conf.py.in'), + output: 'conf.py', + ) + + # Copy hand-written documentation files + rst_sources = files( + 'index.rst', + 'overview.rst', + 'plugins.rst', + 'uis.rst', + 'world.rst', + ) + sphinx_input = [] + foreach f : rst_sources + sphinx_input += [ + configure_file(copy: true, input: f, output: '@PLAINNAME@'), + ] + endforeach + + # Generate reference documentation input with Doxygen and Sphinxygen + subdir('xml') + subdir('api') + + # Build strict Sphinx flags, with termination on warnings if werror=true + sphinx_in_dir = meson.current_build_dir() + sphinx_flags = ['-E', '-a', '-q'] + if get_option('werror') + sphinx_flags += ['-W'] + endif + + # Run Sphinx to generate final documentation for each format + sphinx_build_command = [sphinx_build] + sphinx_flags + foreach format : ['html', 'singlehtml'] + if not get_option(format).disabled() + subdir(format) + endif + endforeach +endif + +if not meson.is_subproject() + summary('Documentation', build_docs, bool_yn: true, section: 'Components') +endif diff --git a/doc/c/overview.rst b/doc/overview.rst index 6abc123..17ebec9 100644 --- a/doc/c/overview.rst +++ b/doc/overview.rst @@ -1,3 +1,7 @@ +.. + Copyright 2020-2022 David Robillard <d@drobilla.net> + SPDX-License-Identifier: ISC + .. default-domain:: c .. highlight:: c diff --git a/doc/c/plugins.rst b/doc/plugins.rst index c86431e..c7ad547 100644 --- a/doc/c/plugins.rst +++ b/doc/plugins.rst @@ -1,3 +1,7 @@ +.. + Copyright 2020-2022 David Robillard <d@drobilla.net> + SPDX-License-Identifier: ISC + .. default-domain:: c .. highlight:: c diff --git a/doc/singlehtml/meson.build b/doc/singlehtml/meson.build new file mode 100644 index 0000000..ed4bb71 --- /dev/null +++ b/doc/singlehtml/meson.build @@ -0,0 +1,33 @@ +# Copyright 2021-2023 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +singlehtml_dir = docdir / versioned_name / 'singlehtml' + +# TODO: Add install_tag: 'doc' after requiring meson 0.60.0 + +custom_target( + 'singlehtml', + build_by_default: true, + command: sphinx_build_command + [ + '-b', 'singlehtml', + '-t', 'singlehtml', + sphinx_in_dir, + '@OUTDIR@', + ], + input: [api_lilv_rst, conf_py, sphinx_input], + install: true, + install_dir: singlehtml_dir, + output: [ + 'index.html', + + '_static', + ], +) + +if not meson.is_subproject() + summary( + 'Single HTML', + get_option('prefix') / singlehtml_dir, + section: 'Directories', + ) +endif diff --git a/doc/c/uis.rst b/doc/uis.rst index 5abaa2c..1169060 100644 --- a/doc/c/uis.rst +++ b/doc/uis.rst @@ -1,3 +1,7 @@ +.. + Copyright 2020-2022 David Robillard <d@drobilla.net> + SPDX-License-Identifier: ISC + .. default-domain:: c .. highlight:: c diff --git a/doc/c/world.rst b/doc/world.rst index 4128f77..8b71165 100644 --- a/doc/c/world.rst +++ b/doc/world.rst @@ -1,3 +1,7 @@ +.. + Copyright 2020-2022 David Robillard <d@drobilla.net> + SPDX-License-Identifier: ISC + .. default-domain:: c .. highlight:: c diff --git a/doc/xml/meson.build b/doc/xml/meson.build new file mode 100644 index 0000000..eb66325 --- /dev/null +++ b/doc/xml/meson.build @@ -0,0 +1,36 @@ +# Copyright 2021-2022 David Robillard <d@drobilla.net> +# SPDX-License-Identifier: 0BSD OR ISC + +doxygen = find_program('doxygen') + +config = configuration_data() +config.set('LILV_SRCDIR', lilv_src_root) +config.set('DOX_OUTPUT', meson.current_build_dir() / '..') + +doxyfile = configure_file( + configuration: config, + input: files('../Doxyfile.in'), + output: 'Doxyfile', +) + +doxygen_xml = custom_target( + 'index.xml', + command: [doxygen, '@INPUT0@'], + input: [doxyfile] + c_headers, + output: [ + 'index.xml', + + 'group__lilv.xml', + 'group__lilv__class.xml', + 'group__lilv__collections.xml', + 'group__lilv__instance.xml', + 'group__lilv__node.xml', + 'group__lilv__plugin.xml', + 'group__lilv__port.xml', + 'group__lilv__scalepoint.xml', + 'group__lilv__state.xml', + 'group__lilv__ui.xml', + 'group__lilv__world.xml', + 'lilv_8h.xml', + ], +) |