mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
ci: Add a gtk subproject for testing on windows and macos
The gstreamer-rs CI needs to build gtk to test the gtk4 plugin in gst-plugins-rs. Formalize support for gtk in the monorepo, and disable it by default because it's not an important dependency; unlike libnice. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7372>
This commit is contained in:
parent
da00a1cabb
commit
337fee8388
3 changed files with 17 additions and 0 deletions
|
@ -463,6 +463,7 @@ build debian x86_64:
|
||||||
-Dgst-plugins-good:cairo=enabled
|
-Dgst-plugins-good:cairo=enabled
|
||||||
-Dgst-plugins-good:soup=enabled
|
-Dgst-plugins-good:soup=enabled
|
||||||
-Dgst-plugins-bad:d3d11-wgc=enabled
|
-Dgst-plugins-bad:d3d11-wgc=enabled
|
||||||
|
-Dgtk=enabled
|
||||||
rules:
|
rules:
|
||||||
- !reference [.upstream-branch-rules, rules]
|
- !reference [.upstream-branch-rules, rules]
|
||||||
- changes:
|
- changes:
|
||||||
|
@ -606,6 +607,7 @@ build macos:
|
||||||
-Dgst-plugins-base:pango=enabled
|
-Dgst-plugins-base:pango=enabled
|
||||||
-Dgst-plugins-good:cairo=enabled
|
-Dgst-plugins-good:cairo=enabled
|
||||||
-Dgst-plugins-good:soup=enabled
|
-Dgst-plugins-good:soup=enabled
|
||||||
|
-Dgtk=enabled
|
||||||
|
|
||||||
# ---- Tests ----- #
|
# ---- Tests ----- #
|
||||||
|
|
||||||
|
|
14
meson.build
14
meson.build
|
@ -10,6 +10,7 @@ project('gstreamer-full', 'c',
|
||||||
apiversion = '1.0'
|
apiversion = '1.0'
|
||||||
gst_version = '>= @0@'.format(meson.project_version())
|
gst_version = '>= @0@'.format(meson.project_version())
|
||||||
|
|
||||||
|
host_system = host_machine.system()
|
||||||
build_system = build_machine.system()
|
build_system = build_machine.system()
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
@ -100,6 +101,18 @@ if get_option('webrtc').enabled()
|
||||||
libnice_options += ['gstreamer=enabled']
|
libnice_options += ['gstreamer=enabled']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
gtk_options = [
|
||||||
|
'build-demos=false',
|
||||||
|
'build-examples=false',
|
||||||
|
'build-testsuite=false',
|
||||||
|
'build-tests=false',
|
||||||
|
]
|
||||||
|
if host_system == 'windows'
|
||||||
|
gtk_options += ['vulkan=disabled']
|
||||||
|
elif host_system == 'darwin'
|
||||||
|
gtk_options += ['x11-backend=false']
|
||||||
|
endif
|
||||||
|
|
||||||
# Disable gst-python if we've disabled introspection
|
# Disable gst-python if we've disabled introspection
|
||||||
gst_python_option = get_option('python').disable_if(get_option('introspection').disabled())
|
gst_python_option = get_option('python').disable_if(get_option('introspection').disabled())
|
||||||
|
|
||||||
|
@ -121,6 +134,7 @@ subprojects = [
|
||||||
['pygobject', { 'option': get_option('python'), 'match_gst_version': false, 'sysdep': 'pygobject-3.0', 'sysdep_version': '>= 3.8' }],
|
['pygobject', { 'option': get_option('python'), 'match_gst_version': false, 'sysdep': 'pygobject-3.0', 'sysdep_version': '>= 3.8' }],
|
||||||
['gst-python', { 'option': gst_python_option}],
|
['gst-python', { 'option': gst_python_option}],
|
||||||
['gst-examples', { 'option': get_option('gst-examples'), 'match_gst_versions': false}],
|
['gst-examples', { 'option': get_option('gst-examples'), 'match_gst_versions': false}],
|
||||||
|
['gtk', {'option': get_option('gtk'), 'match_gst_version': false, 'subproject_options': gtk_options}],
|
||||||
['gst-plugins-rs', { 'option': get_option('rs'), 'build-hotdoc': true, 'match_gst_version': false}],
|
['gst-plugins-rs', { 'option': get_option('rs'), 'build-hotdoc': true, 'match_gst_version': false}],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ option('sharp', type : 'feature', value : 'disabled')
|
||||||
# External subprojects
|
# External subprojects
|
||||||
option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking as a subproject')
|
option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking as a subproject')
|
||||||
option('libnice', type : 'feature', value : 'auto', description: 'ICE support using libnice as a subproject')
|
option('libnice', type : 'feature', value : 'auto', description: 'ICE support using libnice as a subproject')
|
||||||
|
option('gtk', type: 'feature', value: 'disabled', description: 'Build GTK4 as a subproject')
|
||||||
|
|
||||||
# Build for fuzzing
|
# Build for fuzzing
|
||||||
option('oss_fuzz', type : 'feature', value : 'disabled',
|
option('oss_fuzz', type : 'feature', value : 'disabled',
|
||||||
|
|
Loading…
Reference in a new issue