From d4a970f6962dda28133290194832b726b566ddab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Jul 2022 18:59:06 -0400 Subject: Switch to meson build system --- lv2/atom/meson.build | 61 +++++++++++++++++++++++++++++++++++++++++ lv2/buf-size/meson.build | 40 +++++++++++++++++++++++++++ lv2/core/meson.build | 44 +++++++++++++++++++++++++++++ lv2/core/meta.ttl | 2 ++ lv2/data-access/meson.build | 40 +++++++++++++++++++++++++++ lv2/dynmanifest/meson.build | 40 +++++++++++++++++++++++++++ lv2/event/meson.build | 41 +++++++++++++++++++++++++++ lv2/instance-access/meson.build | 40 +++++++++++++++++++++++++++ lv2/log/meson.build | 41 +++++++++++++++++++++++++++ lv2/meson.build | 52 +++++++++++++++++++++++++++++++++++ lv2/midi/meson.build | 40 +++++++++++++++++++++++++++ lv2/morph/meson.build | 40 +++++++++++++++++++++++++++ lv2/options/meson.build | 40 +++++++++++++++++++++++++++ lv2/parameters/meson.build | 40 +++++++++++++++++++++++++++ lv2/patch/meson.build | 40 +++++++++++++++++++++++++++ lv2/port-groups/meson.build | 40 +++++++++++++++++++++++++++ lv2/port-props/meson.build | 40 +++++++++++++++++++++++++++ lv2/presets/meson.build | 40 +++++++++++++++++++++++++++ lv2/resize-port/meson.build | 40 +++++++++++++++++++++++++++ lv2/state/meson.build | 40 +++++++++++++++++++++++++++ lv2/time/meson.build | 40 +++++++++++++++++++++++++++ lv2/ui/meson.build | 40 +++++++++++++++++++++++++++ lv2/units/meson.build | 40 +++++++++++++++++++++++++++ lv2/uri-map/meson.build | 40 +++++++++++++++++++++++++++ lv2/urid/meson.build | 40 +++++++++++++++++++++++++++ lv2/worker/meson.build | 40 +++++++++++++++++++++++++++ 26 files changed, 1041 insertions(+) create mode 100644 lv2/atom/meson.build create mode 100644 lv2/buf-size/meson.build create mode 100644 lv2/core/meson.build create mode 100644 lv2/data-access/meson.build create mode 100644 lv2/dynmanifest/meson.build create mode 100644 lv2/event/meson.build create mode 100644 lv2/instance-access/meson.build create mode 100644 lv2/log/meson.build create mode 100644 lv2/meson.build create mode 100644 lv2/midi/meson.build create mode 100644 lv2/morph/meson.build create mode 100644 lv2/options/meson.build create mode 100644 lv2/parameters/meson.build create mode 100644 lv2/patch/meson.build create mode 100644 lv2/port-groups/meson.build create mode 100644 lv2/port-props/meson.build create mode 100644 lv2/presets/meson.build create mode 100644 lv2/resize-port/meson.build create mode 100644 lv2/state/meson.build create mode 100644 lv2/time/meson.build create mode 100644 lv2/ui/meson.build create mode 100644 lv2/units/meson.build create mode 100644 lv2/uri-map/meson.build create mode 100644 lv2/urid/meson.build create mode 100644 lv2/worker/meson.build (limited to 'lv2') diff --git a/lv2/atom/meson.build b/lv2/atom/meson.build new file mode 100644 index 0000000..3dc43b3 --- /dev/null +++ b/lv2/atom/meson.build @@ -0,0 +1,61 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'atom' +path = 'ns' / 'ext' / name + +atom_data = files( + 'atom.meta.ttl', + 'atom.ttl', + 'manifest.ttl', +) + +headers = files( + 'atom.h', + 'forge.h', + 'util.h', +) + +tests = [ + 'atom-test', + 'forge-overflow-test', +] + +# Install specification bundle +install_data(atom_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build and run tests +if not get_option('tests').disabled() + foreach test : tests + test(test, + executable( + test, + files('@0@.c'.format(test)), + c_args: c_suppressions, + include_directories: include_directories('../../'), + ), + suite: 'unit') + endforeach +endif + +# Build documentation +if build_docs + custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('atom.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/buf-size/meson.build b/lv2/buf-size/meson.build new file mode 100644 index 0000000..c0b3a5e --- /dev/null +++ b/lv2/buf-size/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'buf-size' +path = 'ns' / 'ext' / name + +buf_size_data = files( + 'buf-size.meta.ttl', + 'buf-size.ttl', + 'manifest.ttl', +) + +headers = files( + 'buf-size.h', +) + +# Install extension bundle +install_data(buf_size_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_buf_size_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('buf-size.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/core/meson.build b/lv2/core/meson.build new file mode 100644 index 0000000..a629d0a --- /dev/null +++ b/lv2/core/meson.build @@ -0,0 +1,44 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'core' +path = 'ns' / 'lv2core' + +core_data = files( + 'lv2core.meta.ttl', + 'lv2core.ttl', + 'manifest.ttl', + 'meta.ttl', + 'people.ttl', +) + +headers = files( + 'attributes.h', + 'lv2.h', + 'lv2_util.h', +) + +# Install specification bundle +install_data(core_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / 'ns' / 'lv2core') +endif + +# Build documentation +if build_docs + lv2_core_docs = custom_target( + 'lv2core.html', + command: lv2specgen_command_prefix + [ + '--docdir=../html', + '--style-uri=../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('lv2core.ttl'), + install: true, + install_dir: lv2_docdir / 'ns', + output: 'lv2core.html', + ) +endif diff --git a/lv2/core/meta.ttl b/lv2/core/meta.ttl index d85f539..34cfa4f 100644 --- a/lv2/core/meta.ttl +++ b/lv2/core/meta.ttl @@ -46,6 +46,8 @@ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH R rdfs:label "Remove archaic properties from foaf vocabulary." ] , [ rdfs:label "Replace canonical dcs ontology with a minimal version for LV2." + ] , [ + rdfs:label "Switch to Meson build system." ] ] ] , [ diff --git a/lv2/data-access/meson.build b/lv2/data-access/meson.build new file mode 100644 index 0000000..05b086b --- /dev/null +++ b/lv2/data-access/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'data-access' +path = 'ns' / 'ext' / 'data-access' + +data_access_data = files( + 'data-access.meta.ttl', + 'data-access.ttl', + 'manifest.ttl', +) + +headers = files( + 'data-access.h', +) + +# Install specification bundle +install_data(data_access_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_data_access_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('data-access.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/dynmanifest/meson.build b/lv2/dynmanifest/meson.build new file mode 100644 index 0000000..ba78972 --- /dev/null +++ b/lv2/dynmanifest/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'dynmanifest' +path = 'ns' / 'ext' / 'dynmanifest' + +dynmanifest_data = files( + 'dynmanifest.meta.ttl', + 'dynmanifest.ttl', + 'manifest.ttl', +) + +headers = files( + 'dynmanifest.h', +) + +# Install specification bundle +install_data(dynmanifest_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_dynmanifest_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('dynmanifest.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/event/meson.build b/lv2/event/meson.build new file mode 100644 index 0000000..020acc8 --- /dev/null +++ b/lv2/event/meson.build @@ -0,0 +1,41 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'event' +path = 'ns' / 'ext' / 'event' + +event_data = files( + 'event.meta.ttl', + 'event.ttl', + 'manifest.ttl', +) + +headers = files( + 'event-helpers.h', + 'event.h', +) + +# Install specification bundle +install_data(event_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_event_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('event.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/instance-access/meson.build b/lv2/instance-access/meson.build new file mode 100644 index 0000000..70ff48e --- /dev/null +++ b/lv2/instance-access/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'instance-access' +path = 'ns' / 'ext' / 'instance-access' + +instance_access_data = files( + 'instance-access.meta.ttl', + 'instance-access.ttl', + 'manifest.ttl', +) + +headers = files( + 'instance-access.h', +) + +# Install specification bundle +install_data(instance_access_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_instance_access_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('instance-access.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/log/meson.build b/lv2/log/meson.build new file mode 100644 index 0000000..9b13db0 --- /dev/null +++ b/lv2/log/meson.build @@ -0,0 +1,41 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'log' +path = 'ns' / 'ext' / 'log' + +log_data = files( + 'log.meta.ttl', + 'log.ttl', + 'manifest.ttl', +) + +headers = files( + 'log.h', + 'logger.h', +) + +# Install specification bundle +install_data(log_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_log_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('log.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/meson.build b/lv2/meson.build new file mode 100644 index 0000000..d8875eb --- /dev/null +++ b/lv2/meson.build @@ -0,0 +1,52 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +dirs = [ + 'atom', + 'buf-size', + 'core', + 'data-access', + 'dynmanifest', + 'event', + 'instance-access', + 'log', + 'midi', + 'morph', + 'options', + 'parameters', + 'patch', + 'port-groups', + 'port-props', + 'presets', + 'resize-port', + 'state', + 'time', + 'ui', + 'units', + 'uri-map', + 'urid', + 'worker', +] + +foreach dir : dirs + subdir(dir) +endforeach + +if not get_option('tests').disabled() + check_python = pymod.find_installation('python3', + modules: ['rdflib'], + required: get_option('tests')) + + if check_python.found() + lv2_check_specification = files( + lv2_source_root / 'scripts' / 'lv2_check_specification.py' + ) + + foreach dir : dirs + test(dir, + lv2_check_specification, + args: files(dir / 'manifest.ttl'), + suite: ['spec']) + endforeach + endif +endif diff --git a/lv2/midi/meson.build b/lv2/midi/meson.build new file mode 100644 index 0000000..7907dfa --- /dev/null +++ b/lv2/midi/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'midi' +path = 'ns' / 'ext' / 'midi' + +midi_data = files( + 'midi.meta.ttl', + 'midi.ttl', + 'manifest.ttl', +) + +headers = files( + 'midi.h', +) + +# Install specification bundle +install_data(midi_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_midi_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('midi.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/morph/meson.build b/lv2/morph/meson.build new file mode 100644 index 0000000..0742c03 --- /dev/null +++ b/lv2/morph/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'morph' +path = 'ns' / 'ext' / 'morph' + +morph_data = files( + 'morph.meta.ttl', + 'morph.ttl', + 'manifest.ttl', +) + +headers = files( + 'morph.h', +) + +# Install specification bundle +install_data(morph_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_morph_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('morph.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/options/meson.build b/lv2/options/meson.build new file mode 100644 index 0000000..5644b87 --- /dev/null +++ b/lv2/options/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'options' +path = 'ns' / 'ext' / 'options' + +options_data = files( + 'options.meta.ttl', + 'options.ttl', + 'manifest.ttl', +) + +headers = files( + 'options.h', +) + +# Install specification bundle +install_data(options_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_options_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('options.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/parameters/meson.build b/lv2/parameters/meson.build new file mode 100644 index 0000000..ae50866 --- /dev/null +++ b/lv2/parameters/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'parameters' +path = 'ns' / 'ext' / 'parameters' + +parameters_data = files( + 'parameters.meta.ttl', + 'parameters.ttl', + 'manifest.ttl', +) + +headers = files( + 'parameters.h', +) + +# Install specification bundle +install_data(parameters_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_parameters_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('parameters.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/patch/meson.build b/lv2/patch/meson.build new file mode 100644 index 0000000..cb54fb6 --- /dev/null +++ b/lv2/patch/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'patch' +path = 'ns' / 'ext' / 'patch' + +patch_data = files( + 'patch.meta.ttl', + 'patch.ttl', + 'manifest.ttl', +) + +headers = files( + 'patch.h', +) + +# Install specification bundle +install_data(patch_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_patch_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('patch.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/port-groups/meson.build b/lv2/port-groups/meson.build new file mode 100644 index 0000000..816109f --- /dev/null +++ b/lv2/port-groups/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'port-groups' +path = 'ns' / 'ext' / 'port-groups' + +port_groups_data = files( + 'port-groups.meta.ttl', + 'port-groups.ttl', + 'manifest.ttl', +) + +headers = files( + 'port-groups.h', +) + +# Install specification bundle +install_data(port_groups_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_port_groups_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('port-groups.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/port-props/meson.build b/lv2/port-props/meson.build new file mode 100644 index 0000000..900b637 --- /dev/null +++ b/lv2/port-props/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'port-props' +path = 'ns' / 'ext' / 'port-props' + +port_props_data = files( + 'port-props.meta.ttl', + 'port-props.ttl', + 'manifest.ttl', +) + +headers = files( + 'port-props.h', +) + +# Install specification bundle +install_data(port_props_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_port_props_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('port-props.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/presets/meson.build b/lv2/presets/meson.build new file mode 100644 index 0000000..a3f2feb --- /dev/null +++ b/lv2/presets/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'presets' +path = 'ns' / 'ext' / 'presets' + +presets_data = files( + 'presets.meta.ttl', + 'presets.ttl', + 'manifest.ttl', +) + +headers = files( + 'presets.h', +) + +# Install specification bundle +install_data(presets_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_presets_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('presets.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/resize-port/meson.build b/lv2/resize-port/meson.build new file mode 100644 index 0000000..cd18a2c --- /dev/null +++ b/lv2/resize-port/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'resize-port' +path = 'ns' / 'ext' / 'resize-port' + +resize_port_data = files( + 'resize-port.meta.ttl', + 'resize-port.ttl', + 'manifest.ttl', +) + +headers = files( + 'resize-port.h', +) + +# Install specification bundle +install_data(resize_port_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_resize_port_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('resize-port.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/state/meson.build b/lv2/state/meson.build new file mode 100644 index 0000000..7914797 --- /dev/null +++ b/lv2/state/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'state' +path = 'ns' / 'ext' / 'state' + +state_data = files( + 'state.meta.ttl', + 'state.ttl', + 'manifest.ttl', +) + +headers = files( + 'state.h', +) + +# Install specification bundle +install_data(state_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_state_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('state.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/time/meson.build b/lv2/time/meson.build new file mode 100644 index 0000000..5f47e89 --- /dev/null +++ b/lv2/time/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'time' +path = 'ns' / 'ext' / 'time' + +time_data = files( + 'time.meta.ttl', + 'time.ttl', + 'manifest.ttl', +) + +headers = files( + 'time.h', +) + +# Install specification bundle +install_data(time_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_time_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('time.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/ui/meson.build b/lv2/ui/meson.build new file mode 100644 index 0000000..3eb4223 --- /dev/null +++ b/lv2/ui/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'ui' +path = 'ns' / 'extensions' / 'ui' + +ui_data = files( + 'ui.meta.ttl', + 'ui.ttl', + 'manifest.ttl', +) + +headers = files( + 'ui.h', +) + +# Install specification bundle +install_data(ui_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_ui_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('ui.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'extensions', + output: name + '.html', + ) +endif diff --git a/lv2/units/meson.build b/lv2/units/meson.build new file mode 100644 index 0000000..00d50dc --- /dev/null +++ b/lv2/units/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'units' +path = 'ns' / 'extensions' / 'units' + +units_data = files( + 'units.meta.ttl', + 'units.ttl', + 'manifest.ttl', +) + +headers = files( + 'units.h', +) + +# Install specification bundle +install_data(units_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_units_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('units.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'extensions', + output: name + '.html', + ) +endif diff --git a/lv2/uri-map/meson.build b/lv2/uri-map/meson.build new file mode 100644 index 0000000..1961645 --- /dev/null +++ b/lv2/uri-map/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'uri-map' +path = 'ns' / 'ext' / 'uri-map' + +uri_map_data = files( + 'uri-map.meta.ttl', + 'uri-map.ttl', + 'manifest.ttl', +) + +headers = files( + 'uri-map.h', +) + +# Install specification bundle +install_data(uri_map_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_uri_map_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('uri-map.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/urid/meson.build b/lv2/urid/meson.build new file mode 100644 index 0000000..38efe4b --- /dev/null +++ b/lv2/urid/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'urid' +path = 'ns' / 'ext' / 'urid' + +urid_data = files( + 'urid.meta.ttl', + 'urid.ttl', + 'manifest.ttl', +) + +headers = files( + 'urid.h', +) + +# Install specification bundle +install_data(urid_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_urid_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('urid.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif diff --git a/lv2/worker/meson.build b/lv2/worker/meson.build new file mode 100644 index 0000000..248c594 --- /dev/null +++ b/lv2/worker/meson.build @@ -0,0 +1,40 @@ +# Copyright 2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +name = 'worker' +path = 'ns' / 'ext' / 'worker' + +worker_data = files( + 'worker.meta.ttl', + 'worker.ttl', + 'manifest.ttl', +) + +headers = files( + 'worker.h', +) + +# Install specification bundle +install_data(worker_data, install_dir: lv2dir / name + '.lv2') +install_headers(headers, subdir: 'lv2' / name) +if get_option('old_headers') + install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path) +endif + +# Build documentation +if build_docs + lv2_worker_docs = custom_target( + name + '.html', + command: lv2specgen_command_prefix + [ + '--docdir=../../html', + '--style-uri=../../aux/style.css', + '@INPUT@', + '@OUTPUT@', + ], + depends: doc_deps, + input: files('worker.ttl'), + install: true, + install_dir: lv2_docdir / 'ns' / 'ext', + output: name + '.html', + ) +endif -- cgit v1.2.1