Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
Description
Why?
Today, deployment is handled by running a custom, platform-specific deployment tool after "make (install)" (if not handled by Qt Creator). There are reasons to unify this under the build system:
- Give all build steps a common, less verbose user interface.
Before:/path/to/qtbase/bin/qmake && make && /path/to/qtbasse/bin/macdeployqt Application.app -qmldir /path/to/app/qml/sources
After:
/path/to/qtbase/bin/qmake && make deploy
- We want the build system to tell us exactly what the application QML files are.
Today the deployqt tools runs qmlimportscanner in "directiory iteration mode": All qml files in the app source dir is scanned.
Required Changes
- Move deployqt tools to qtbase, as host tools together with moc, rcc. We can then depend on them being present after QtBase is built.
- Introduce QML_SOURCES and use it everywhere, for all application QML files.
Open Questions
- deployqt options: macdeployqt etc has several platform specific options. "make" is not well suited for processing and forwarding command line options.
Attachments
Issue Links
- depends on
-
QTBUG-38735 QML applications fail to detect default module plugins
- Open
-
QTBUG-66481 transitive qml plugin dependencies are not handled in static builds
- Open
-
QTBUG-52466 Styles need to be explicitly imported to work with static builds
- Closed
-
QTBUG-52798 Unify the *deployqt tools into a host tool in qtbase
- Closed
-
QTBUG-38296 Allow blacklisting unneeded libraries or plugins
- Closed