QtCS2017 Qt Deployment Story
Jump to navigation
Jump to search
Breakout session from Build System BOF
- Qt Quick deployment
- Differentiation between release and deployment to device
- Making Qt installations movable
- QLibraryInfo is horrible (Ossi)
- Not working for bundles
- Asset access: Developer shouldn't need to care about source of asset (qrc, bundle, file ...)
- Apple e.g. defines pretty clearly App Bundle structure
- Linux has also some standards
- Android : Everything is in a zip file
- Arguments for using native format
- If we use the system specific locations, we can use native API to access it
- Allows e.g. streaming of video file to external player
- qrc has limitations regarding large assets
- Andre fixed this a while ago (?) by merging asset in a post-compilation step
- Solution is a tad hacky though
- If we use the system specific locations, we can use native API to access it
- What's needed?
- Build System?
- asset:// accessor?
- What's needed?
- Asset Conditioning
- Preparation of assets at compile time
- Requires support in build system
- Should be integrated in IDE, too (e.g. to specify converting png resource into bitmap)
- Build System and IDE also needs to watch for file changes , e.g. if external app changes assets
- Can we limit recompilation of resource files to the files that actually changed?
- For QRC: We have to store metadata about the file format / conditioning
- Qt resources in Qbs
- QMake has RESOURCES, actual files are in .qrc
- Historical reason: Qt Designer had to edit them
- Qbs could make it easier
- Runtime mapping of qrc:// to file should be transparent. The mapping could be tweaked by developer, but doesn't have to.
- QMake has RESOURCES, actual files are in .qrc
- Can we extend QRC path for identifier to native asset system?
- Exact location / backend can be transparent
- Therefore no need for an additional system
- What about non-file assets, like colors?
- say "qt-green" being loaded from runtime resource
- Are there any other examples of resources that aren't files?