Details
-
Task
-
Resolution: Won't Do
-
P2: Important
-
None
-
None
-
None
Description
For a good user experience in Creator, deployment of complex applications should be a single click on the run button. To make that possible Creator has to be capable of automatically finding out all dependencies of a project.
Also other tools such as macdeployqt or the windeployqt need to be able to accurately find all dependencies of a binary.
For pure C++ applications the library dependencies are mostly sufficient.
Qt Quick adds a additional type of dependency that is invisible to those deployment tools, imports of Qt Quick modules. There is currently no way to accurately figure out which imports a project uses.
Thus, e.g. the Creator plugin for Android simply deploys all imports, so even the most simplistic hello world application ships qml files for graphical effects, qt quick controls, a folderlistmodel, QtTest and so on. If those imports have additional library dependencies, then those dependencies are simply ignored. See QTCREATORBUG-9664.
macdeployqt does as far as I can tell from e.g. QTBUG-14342 ignore the problem and simply deploys no imports.
There's a clear need for a cross platform approach to this problem, either a tool to automatically figure out the right imports to deploy. Or a cross platform way to specify those additional dependencies manually.