mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-24 15:06:38 +00:00
This adds `gstdump` and `gst-dots-viewer` server, see the README for more details about what those tools do. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7999>
58 lines
1.4 KiB
Meson
58 lines
1.4 KiB
Meson
if not add_languages('rust', required: get_option('dots_viewer'))
|
|
subdir_done()
|
|
endif
|
|
|
|
rustc = meson.get_compiler('rust')
|
|
|
|
cargo = find_program('cargo', version:'>=1.40', required: get_option('dots_viewer'))
|
|
if not cargo.found()
|
|
subdir_done()
|
|
endif
|
|
|
|
cargo_wrapper = find_program('cargo_wrapper.py')
|
|
extra_env = {'RUSTC': ' '.join(rustc.cmd_array())}
|
|
|
|
system = host_machine.system()
|
|
exe_suffix = ''
|
|
if system == 'windows'
|
|
exe_suffix = '.exe'
|
|
endif
|
|
|
|
if get_option('debug')
|
|
target = 'debug'
|
|
else
|
|
target = 'release'
|
|
endif
|
|
|
|
# Extra env to pass to cargo
|
|
if get_option('default_library') == 'static'
|
|
extra_env += {
|
|
# Tell the pkg-config crate to think of all libraries as static
|
|
'PKG_CONFIG_ALL_STATIC': '1',
|
|
# Tell the system-deps crate to process linker flag for static deps
|
|
'SYSTEM_DEPS_LINK': 'static'
|
|
}
|
|
endif
|
|
|
|
foreach binname: ['gst-dots-viewer', 'gstdump']
|
|
custom_target(binname,
|
|
build_by_default: true,
|
|
output: binname + exe_suffix,
|
|
console: true,
|
|
install: true,
|
|
install_dir: get_option('bindir'),
|
|
depfile: binname + '.dep',
|
|
env: extra_env,
|
|
command: [cargo_wrapper,
|
|
'build',
|
|
meson.current_build_dir(),
|
|
meson.current_source_dir(),
|
|
meson.global_build_root(),
|
|
target,
|
|
get_option('prefix'),
|
|
get_option('libdir'),
|
|
'--depfile', '@DEPFILE@',
|
|
'--bin', binname,
|
|
'--exe-suffix', exe_suffix,
|
|
])
|
|
endforeach
|