[vlc-commits] [Git][videolan/vlc][master] 7 commits: meson: add missing Qt5 plugins
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Feb 2 06:56:32 UTC 2023
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
0bf21c1d by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: add missing Qt5 plugins
- - - - -
d70f39bf by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: add missing versioned qplatformnativeinterface.h include
Needed since bf43ffde4b45a45861530722dfdcb007f48d2f33
- - - - -
da44f40c by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: add Qt5Wayland dependency if it's available
- - - - -
8ebe8834 by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: use the same dependency for vlc-qt-check as for the plugin
- - - - -
75c13947 by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: move GTK detection and disable for Windows/Darwin
The same way it's done in configure.ac.
- - - - -
63c0e892 by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: add missing QT5_HAS_GTK
- - - - -
8866e7c7 by Steve Lhomme at 2023-02-02T06:41:39+00:00
meson: add a TODO for qmlgencache support
Not sure how to handle it.
- - - - -
2 changed files:
- modules/gui/qt/meson.build
- modules/meson.build
Changes:
=====================================
modules/gui/qt/meson.build
=====================================
@@ -543,6 +543,55 @@ if qt5_dep.found()
qt_sources = files('qt.cpp')
+ # Qt plugins
+ qt_static_check = '''
+ #include <qconfig.h>
+ #ifndef QT_STATIC
+ #error Qt using shared libraries
+ #endif
+ '''
+ if cpp.compiles(qt_static_check, dependencies: qt5_dep, name: 'Qt5 compiled with static libraries')
+ qt_extra_deps += [
+ dependency('qtgraphicaleffectsplugin', required: false),
+ dependency('qtquick2plugin ', required: false),
+ dependency('qtquickcontrols2plugin', required: false),
+ dependency('qtquicktemplates2plugin', required: false),
+ dependency('qquicklayoutsplugin', required: false),
+ dependency('windowplugin', required: false),
+ dependency('qmlshapesplugin', required: false),
+ dependency('qmlplugin', required: false),
+ dependency('modelsplugin', required: false),
+ dependency('qsvg', required: false),
+ dependency('qsvgicon', required: false),
+ dependency('qtgraphicaleffectsprivate', required: false),
+ dependency('qjpeg', required: false),
+ ]
+
+ qt_extra_deps += [
+ dependency('qxcb-glx-integration', required: false),
+ dependency('qxcb', required: false),
+ ]
+
+ qt_extra_deps += [
+ dependency('qwayland-generic', required: false),
+ dependency('qwayland-egl', required: false),
+ dependency('xdg-shell', required: false),
+ ]
+
+ if host_system == 'windows'
+ qt_extra_deps += [
+ dependency('qwindows', required: false),
+ dependency('qwindowsvistastyle', required: false),
+ ]
+ endif
+
+ if host_system == 'darwin'
+ qt_extra_deps += [
+ dependency('qcocoa', required: false),
+ ]
+ endif
+ endif
+
if host_system == 'windows'
qt_extra_deps += [
cc.find_library('comctl32'),
@@ -573,14 +622,53 @@ if qt5_dep.found()
endif
endif
+ # Qt5 wayland
+ wayland_qt5_dep = dependency('qt5', modules: ['WaylandClient'], required: false)
+
+ if wayland_qt5_dep.found()
+ qt_extra_deps += [wayland_dep]
+ qt_extra_flags += '-DQT5_HAS_WAYLAND'
+ endif
+
if get_option('qt_qml_debug')
qt_extra_flags += '-DQT_QML_DEBUG'
endif
if host_system == 'windows'
qt_cppargs += libcom_cppflags
+ qt_extra_flags += '-DQPNI_HEADER=<' + qt5_dep.version() + '/QtGui/qpa/qplatformnativeinterface.h>'
+ endif
+
+ if not (host_system in ['windows', 'darwin'])
+ #Qt GTK theme module
+ gtk_dep = dependency(
+ 'gtk+-3.0',
+ version: '>=3.20',
+ required: get_option('qt_gtk')
+ )
+
+ if gtk_dep.found()
+ vlc_modules += {
+ 'name' : 'qt_gtktheme',
+ 'sources' : files(
+ 'style/gtkthemeprovider/gtk_compat.cpp',
+ 'style/gtkthemeprovider/gtk_compat.h',
+ 'style/gtkthemeprovider/gtkthemeprovider.cpp',
+ 'style/gtkthemeprovider/gtk_util.cpp',
+ 'style/gtkthemeprovider/gtk_util.h',
+ 'style/gtkthemeprovider/nav_button_provider_gtk.cpp',
+ 'style/gtkthemeprovider/nav_button_provider_gtk.h',
+ 'style/gtkthemeprovider/scoped_gobject.h'
+ ),
+ 'dependencies' : [gtk_dep]
+ }
+
+ qt_extra_flags += '-DQT5_HAS_GTK'
+ endif
endif
+ # TODO support qmlcachegen
+
vlc_modules += {
'name' : 'qt',
'sources' : [qt5pre_files, qt_sources, some_sources],
@@ -590,28 +678,4 @@ if qt5_dep.found()
'cpp_args' : [qt_extra_flags, qt_cppargs]
}
- #Qt GTK theme module
- gtk_dep = dependency(
- 'gtk+-3.0',
- version: '>=3.20',
- required: get_option('qt_gtk')
- )
-
- if gtk_dep.found()
- vlc_modules += {
- 'name' : 'qt_gtktheme',
- 'sources' : files(
- 'style/gtkthemeprovider/gtk_compat.cpp',
- 'style/gtkthemeprovider/gtk_compat.h',
- 'style/gtkthemeprovider/gtkthemeprovider.cpp',
- 'style/gtkthemeprovider/gtk_util.cpp',
- 'style/gtkthemeprovider/gtk_util.h',
- 'style/gtkthemeprovider/nav_button_provider_gtk.cpp',
- 'style/gtkthemeprovider/nav_button_provider_gtk.h',
- 'style/gtkthemeprovider/scoped_gobject.h'
- ),
- 'dependencies' : [gtk_dep]
- }
- endif
-
endif
=====================================
modules/meson.build
=====================================
@@ -231,11 +231,13 @@ subdir('lua')
if qt5_dep.found()
executable('vlc-qt-check',
files('gui/qt/vlc-qt-check.cpp'),
- dependencies: [qt5_dep],
+ dependencies: [qt5_dep, qt_extra_deps],
include_directories: [vlc_include_dirs],
build_by_default: true,
install: true,
- install_dir: get_option('libexecdir')
+ install_dir: get_option('libexecdir'),
+ c_args : qt_extra_flags,
+ cpp_args : qt_extra_flags,
)
endif
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/23dff5090d51e0e9c1ce189e8f683a19df024891...8866e7c76cbc8ecc0147affcc150961773a96ed4
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/23dff5090d51e0e9c1ce189e8f683a19df024891...8866e7c76cbc8ecc0147affcc150961773a96ed4
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list