mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-25 13:01:07 +00:00
meson: Fix handling of optional deps
We were requiring the presence of all optional dependencies, such as gstreamer-check-1.0 and gstreamer-gl-1.0, on the system, regardless of whether the user actually requires these functionalities. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1305>
This commit is contained in:
parent
7f6421d977
commit
c1ac9396ee
2 changed files with 39 additions and 19 deletions
56
meson.build
56
meson.build
|
@ -62,15 +62,31 @@ deps = [
|
|||
['gstreamer-app-1.0', 'gst-plugins-base', 'app_dep', 'gstapp'],
|
||||
['gstreamer-audio-1.0', 'gst-plugins-base', 'audio_dep', 'gstaudio'],
|
||||
['gstreamer-base-1.0', 'gstreamer', 'gst_base_dep', 'gst_base'],
|
||||
['gstreamer-check-1.0', 'gstreamer', 'gst_check_dep', 'gst_check'],
|
||||
['gstreamer-gl-1.0', 'gst-plugins-base', 'gst_gl_dep', 'gstgl'],
|
||||
['gstreamer-net-1.0', 'gstreamer', 'gst_net_dep', 'gst_net'],
|
||||
['gstreamer-rtp-1.0', 'gst-plugins-base', 'rtp_dep', 'gst_rtp'],
|
||||
['gstreamer-video-1.0', 'gst-plugins-base', 'video_dep', 'gstvideo'],
|
||||
['gstreamer-sdp-1.0', 'gst-plugins-base', 'sdp_dep', 'gstsdp'],
|
||||
['gstreamer-webrtc-1.0', 'gst-plugins-bad', 'gstwebrtc_dep', 'gstwebrtc'],
|
||||
['gstreamer-video-1.0', 'gst-plugins-base', 'video_dep', 'gstvideo']
|
||||
]
|
||||
|
||||
if get_option('threadshare').allowed() \
|
||||
or get_option('onvif').allowed() \
|
||||
or get_option('raptorq').allowed() \
|
||||
or get_option('rtp').allowed() \
|
||||
or get_option('webrtc').allowed()
|
||||
deps += [['gstreamer-rtp-1.0', 'gst-plugins-base', 'rtp_dep', 'gst_rtp']]
|
||||
endif
|
||||
if get_option('webrtc').allowed() \
|
||||
or get_option('webrtchttp').allowed()
|
||||
deps += [['gstreamer-webrtc-1.0', 'gst-plugins-bad', 'gstwebrtc_dep', 'gstwebrtc']]
|
||||
deps += [['gstreamer-sdp-1.0', 'gst-plugins-base', 'sdp_dep', 'gstsdp']]
|
||||
endif
|
||||
if get_option('tests').allowed()
|
||||
deps += [['gstreamer-check-1.0', 'gstreamer', 'gst_check_dep', 'gst_check']]
|
||||
endif
|
||||
if get_option('gtk4').allowed()
|
||||
deps += [['gstreamer-gl-1.0', 'gst-plugins-base', 'gst_gl_dep', 'gstgl']]
|
||||
endif
|
||||
if get_option('threadshare').allowed()
|
||||
deps += [['gstreamer-net-1.0', 'gstreamer', 'gst_net_dep', 'gst_net']]
|
||||
endif
|
||||
|
||||
glib_dep = dependency('glib-2.0', version: glib_req)
|
||||
deps_cache += {'glib-2.0': glib_dep}
|
||||
|
||||
|
@ -562,18 +578,20 @@ if get_option('examples').allowed() and examples.length() > 0
|
|||
] + feature_args)
|
||||
endif
|
||||
|
||||
test('tests',
|
||||
cargo_wrapper,
|
||||
env: extra_env,
|
||||
args: ['test',
|
||||
meson.current_build_dir(),
|
||||
meson.current_source_dir(),
|
||||
meson.global_build_root(),
|
||||
target,
|
||||
get_option('prefix'),
|
||||
get_option('libdir'),
|
||||
'--packages', packages],
|
||||
timeout: 600)
|
||||
if get_option('tests').allowed()
|
||||
test('tests',
|
||||
cargo_wrapper,
|
||||
env: extra_env,
|
||||
args: ['test',
|
||||
meson.current_build_dir(),
|
||||
meson.current_source_dir(),
|
||||
meson.global_build_root(),
|
||||
target,
|
||||
get_option('prefix'),
|
||||
get_option('libdir'),
|
||||
'--packages', packages],
|
||||
timeout: 600)
|
||||
endif
|
||||
|
||||
summary({
|
||||
'Plugins': plugin_names,
|
||||
|
|
|
@ -63,3 +63,5 @@ option('doc', type: 'feature', value: 'auto', yield: true,
|
|||
description: 'Enable documentation')
|
||||
option('examples', type: 'feature', value: 'disabled', yield: true,
|
||||
description: 'Build examples')
|
||||
option('tests', type : 'feature', value : 'auto', yield : true,
|
||||
description : 'Build and enable unit tests')
|
||||
|
|
Loading…
Reference in a new issue