mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-05-20 01:08:06 +00:00
65 lines
1.6 KiB
Meson
65 lines
1.6 KiB
Meson
|
project('gst-plugins-rs',
|
||
|
'rust',
|
||
|
version: '0.13.0',
|
||
|
meson_version : '>= 0.52')
|
||
|
|
||
|
if get_option('debug')
|
||
|
target = 'debug'
|
||
|
else
|
||
|
target = 'release'
|
||
|
endif
|
||
|
|
||
|
cargo = find_program('cargo', version:'>=1.39')
|
||
|
cargo_script = find_program('cargo.py')
|
||
|
|
||
|
system = build_machine.system()
|
||
|
if system == 'windows'
|
||
|
ext = 'dll'
|
||
|
elif system == 'darwin'
|
||
|
ext = 'dylib'
|
||
|
else
|
||
|
ext = 'so'
|
||
|
endif
|
||
|
|
||
|
plugins_rep = {
|
||
|
'gst-plugin-audiofx': 'libgstrsaudiofx',
|
||
|
'gst-plugin-cdg': 'libgstcdg',
|
||
|
'gst-plugin-closedcaption': 'libgstrsclosedcaption',
|
||
|
'gst-plugin-fallbackswitch': 'libgstfallbackswitch',
|
||
|
'gst-plugin-file': 'libgstrsfile',
|
||
|
'gst-plugin-flv': 'libgstrsflv',
|
||
|
'gst-plugin-lewton': 'libgstlewton',
|
||
|
'gst-plugin-rav1e': 'libgstrav1e',
|
||
|
'gst-plugin-reqwest': 'libgstreqwest',
|
||
|
'gst-plugin-rusoto': 'libgstrusoto',
|
||
|
'gst-plugin-sodium': 'libgstsodium',
|
||
|
'gst-plugin-threadshare': 'libgstthreadshare',
|
||
|
'gst-plugin-togglerecord': 'libgsttogglerecord',
|
||
|
}
|
||
|
|
||
|
output = []
|
||
|
|
||
|
foreach p, lib : plugins_rep
|
||
|
# Add the plugin file as output
|
||
|
output += [lib + '.' + ext]
|
||
|
endforeach
|
||
|
|
||
|
# Always build the target so we don't have to list all source files as input
|
||
|
rs_plugins = custom_target('gst-plugins-rs',
|
||
|
build_by_default: true,
|
||
|
output: output,
|
||
|
console: true,
|
||
|
install: false,
|
||
|
build_always_stale: true,
|
||
|
command: [cargo_script,
|
||
|
meson.current_build_dir(),
|
||
|
meson.current_source_dir(),
|
||
|
meson.build_root(),
|
||
|
target,
|
||
|
ext])
|
||
|
|
||
|
# FIXME: raises a warning as the target has multiple outputs and meson will use
|
||
|
# only the first one. All the plugins have the same basedir, hence
|
||
|
# GST_PLUGIN_PATH will include them all, so that's ok.
|
||
|
plugins = [rs_plugins]
|