# deciding whether to build the qt5 examples
qt5qml_dep = dependency('', required: false)
qt5_option = get_option('qt5')
+qt5_method = get_option('qt-method')
if qt5_option.disabled()
subdir_done()
qt5_mod = import('qt5')
qt5qml_dep = dependency('qt5', modules : ['Core', 'Gui', 'Qml', 'Quick'],
- required: qt5_option, static: host_machine.system() == 'ios')
+ method: qt5_method, required: qt5_option, static: host_system == 'ios')
# On Linux, distros often have the Qt5 pkg-config files and moc in separate
# packages, so the user may not have both installed. Check for moc and ensure
if gst_gl_have_window_x11 and gst_gl_have_platform_glx
# FIXME: automagic
- qt5x11extras = dependency('qt5', modules : ['X11Extras'], required : false)
+ qt5x11extras = dependency('qt5', modules : ['X11Extras'], method: qt5_method, required : false)
if qt5x11extras.found()
optional_deps += [qt5x11extras, gstglx11_dep]
qt_defines += ['-DHAVE_QT_X11']
# Wayland windowing
if gst_gl_have_window_wayland
# FIXME: automagic
- qt5waylandextras = dependency('qt5', modules : ['WaylandClient'], required : false)
+ qt5waylandextras = dependency('qt5', modules : ['WaylandClient'], method: qt5_method, required : false)
if qt5waylandextras.found()
optional_deps += [qt5waylandextras, gstglwayland_dep]
qt_defines += ['-DHAVE_QT_WAYLAND']
# Android windowing
if gst_gl_have_window_android
# FIXME: automagic
- qt5androidextras = dependency('qt5', modules : ['AndroidExtras'], required : false)
+ qt5androidextras = dependency('qt5', modules : ['AndroidExtras'], method: qt5_method, required : false)
# for gl functions in QtGui/qopenglfunctions.h
# FIXME: automagic
glesv2_dep = cc.find_library('GLESv2', required : false)
if gst_gl_have_window_cocoa and gst_gl_have_platform_cgl
# FIXME: automagic
- qt5macextras = dependency('qt5', modules : ['MacExtras'], required : false)
+ qt5macextras = dependency('qt5', modules : ['MacExtras'], method: qt5_method, required : false)
if qt5macextras.found()
qt_defines += ['-DHAVE_QT_MAC']
optional_deps += qt5macextras
qt6qml_dep = dependency('', required: false)
qt6_option = get_option('qt6')
+qt6_method = get_option('qt-method')
if qt6_option.disabled()
subdir_done()
endif
qt6qml_dep = dependency('qt6', modules : ['Core', 'Gui', 'Qml', 'Quick'],
- required: qt6_option, static: host_machine.system() == 'ios')
+ method: qt6_method, required: qt6_option, static: host_system == 'ios')
if not qt6qml_dep.found()
subdir_done()
endif
# Wayland windowing
if gst_gl_have_window_wayland
# FIXME: automagic
- qt6waylandextras = dependency('qt6', modules : ['WaylandClient'], required : false)
+ qt6waylandextras = dependency('qt6', modules : ['WaylandClient'], method: qt6_method, required : false)
if qt6waylandextras.found()
optional_deps += [qt6waylandextras, gstglwayland_dep]
qt_defines += ['-DHAVE_QT_WAYLAND']
# Android windowing
# if gst_gl_have_window_android
# FIXME: automagic
-# qt5androidextras = dependency('qt5', modules : ['AndroidExtras'], required : false)
+# qt5androidextras = dependency('qt5', modules : ['AndroidExtras'], method: qt6_method, required : false)
# for gl functions in QtGui/qopenglfunctions.h
# FIXME: automagic
# glesv2_dep = cc.find_library('GLESv2', required : false)
option('osxvideo', type : 'feature', value : 'auto', description : 'macOS Cocoa video sink plugin')
option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin')
option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin')
-option('qt5', type : 'feature', value : 'auto', yield : true, description : 'Qt5 QML video sink plugin')
-option('qt6', type : 'feature', value : 'auto', yield : true, description : 'Qt6 QML video sink plugin')
option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin')
option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found')
option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found')
+# Qt plugin options
+option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
+ description: 'Method to use to find Qt')
+option('qt5', type : 'feature', value : 'auto', yield : true, description : 'Qt5 QML video sink plugin')
+option('qt6', type : 'feature', value : 'auto', yield : true, description : 'Qt6 QML video sink plugin')
+
# ximagesrc plugin options
option('ximagesrc', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin')
option('ximagesrc-xshm', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XSHM support)')