Details
-
Type:
Bug
-
Status: Reported
-
Priority:
P2: Important
-
Resolution: Unresolved
-
Affects Version/s: 6.0.3, 6.1.0, 6.2
-
Fix Version/s: None
-
Component/s: Build System: CMake
-
Labels:None
Description
Currently tests created by qt_internal_add_test don't have qmlimportscanner run for them (via qt_import_qml_plugins).
This means that in a static Qt build, if the test needs some qml plugins, the test will fail at runtime saying some qml import has failed.
In examples added by the public qt_add_executable, we run qt_import_qml_plugins via scope finalizers.
For tests we have a few options:
- call qt_import_qml_plugins directly in qt_internal_add_test()
- Call it via scope finalizer (only this one function)
- Call all scope finalizers like we do in qt_add_executable. This might prove problematic to implement.
We can't call qt_import_qml_plugins when building the qtdeclarative tests as part of the overall qtdeclarative build (or a top-level build), but we can do it for standalone test builds, which is what is used by the CI.
Attachments
Issue Links
- duplicates
-
QTBUG-104465 It is impossible to build tests with custom plugins in static build configurations
-
- Reported
-
- relates to
-
QTBUG-100796 qt_internal_add_test calls don't handle extra properties for Android
-
- Closed
-
- resulted from
-
QTBUG-93459 [Highlighted example] virtualkeyboard/static fails to compile on iOS
-
- Closed
-