aboutsummaryrefslogtreecommitdiffstats
path: root/dependencies.yaml
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2021-10-06 12:58:03 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-10-07 12:56:27 +0000
commit13bf176006d293a9cad337be16f134428e85699d (patch)
tree9012eb7212ca7a3796eba3f840fd84bc4653f428 /dependencies.yaml
parent7c9368164c152bf3ff540d5384e557aed02fd238 (diff)
CMake: Special case qqc2 style plugin static plugin dependencies
When an application uses a static Qt and manually links to Qt Quick Controls 2 style plugins (bypassing qmlimportscanner), there were some dependencies that were not automatically linked into the app, leading to runtime failures like the following qrc:/qt-project.org/imports/QtQuick/Controls/macOS/ComboBox.qml:39:1: module "QtQuick.NativeStyle" plugin "qtquickcontrols2nativestyleplugin" not found or qrc:/.../imports/QtQuick/Controls/Fusion/ApplicationWindow.qml:38:1: module "QtQuick.Window" plugin "quickwindowplugin" not found or qrc:/.../imports/QtQuick/Controls/Fusion/ApplicationWindow.qml:41:1: module "QtQuick.Controls.Fusion.impl" plugin "qtquickcontrols2fusionstyleimplplugin" not found Special case these dependencies like we did previously for the qml and worker script plugins, by using a new helper called _qt_internal_add_qml_static_plugin_dependency. Each of the style plugins (except for the Basic one) import another style plugin as a fallback, which means the fallback style needs to be linked as well. The macOS and Windows style import the native style, so that is added as an extra link dependency for them. The non-native styles also have a dependency on QtQuick.Window, which is not linked by default even if the QtQuick plugin is linked. Note that at least the fallback style dependencies can be considered duplicated from the build system perspective, because they are already mentioned in the respective qt_add_qml_module IMPORTS section. Ideally, in a separate change, we should implement automatic calls of _qt_internal_add_qml_static_plugin_dependency for the entries that appear in IMPORTS, so that it also improves the situation for public user projects that build their own static qml plugins. This will likely depend on figuring out how to handle QTBUG-92887 first (a bidrectional mapping between qml plugin targets and URIs). Until then, we improve the situation for cases mentioned above. Amends 6fd1216801f078f65be2cbc748cc459cb6912a4f Fixes: QTBUG-97099 Change-Id: Ied3f0af4a860db3f7309b993fc034a0cae9d84ae Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit 2a664028a9cbbd94f87646b609d5aad7b781d792) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'dependencies.yaml')
0 files changed, 0 insertions, 0 deletions