Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5
-
None
-
-
a0c9fc675 (dev), 5722c6749 (dev), 1495051e0 (6.7)
Description
At https://doc.qt.io/qt-6/qt-generate-deploy-app-script.html we can see that qt_generate_deploy_app_script only mentions:
For Windows desktop applications, the required runtime files for the compiler are also installed by default. To prevent this, specify NO_COMPILER_RUNTIME.
But if we look at windeployqt.exe --help we can see more parameters available:
$ windeployqt --help QCommandLineParser: already having an option named "no-virtualkeyboard" Usage: windeployqt [options] [files] Qt Deploy Tool 6.5.0 The simplest way to use windeployqt is to add the bin directory of your Qt installation (e.g. <QT_DIR\bin>) to the PATH variable and then run: windeployqt <path-to-app-binary> If your application uses Qt Quick, run: windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary> Options: -?, -h, --help Displays help on commandline options. --help-all Displays help including Qt specific options. -v, --version Displays version information. --dir <directory> Use directory instead of binary directory. --qmake <path> Use specified qmake instead of qmake from PATH. Deprecated, use qtpaths instead. --qtpaths <path> Use specified qtpaths.exe instead of qtpaths.exe from PATH. --libdir <path> Copy libraries to path. --plugindir <path> Copy plugins to path. --qml-deploy-dir <path> Copy qml files to path. --debug Assume debug binaries. --release Assume release binaries. --pdb Deploy .pdb files (MSVC). --force Force updating files. --dry-run Simulation mode. Behave normally, but do not copy/update any files. --no-patchqt Do not patch the Qt6Core library. --ignore-library-errors Ignore errors when libraries cannot be found. --no-plugins Skip plugin deployment. --no-libraries Skip library deployment. --qmldir <directory> Scan for QML-imports starting from directory. --qmlimport <directory> Add the given path to the QML module search locations. --no-quick-import Skip deployment of Qt Quick imports. --translations <languages> A comma-separated list of languages to deploy (de,fi). --no-translations Skip deployment of translations. --no-system-d3d-compiler Skip deployment of the system D3D compiler. --compiler-runtime Deploy compiler runtime (Desktop only). --no-virtualkeyboard Disable deployment of the Virtual Keyboard. --no-compiler-runtime Do not deploy compiler runtime (Desktop only). --json Print to stdout in JSON format. --no-opengl-sw Do not deploy the software rasterizer library. --list <option> Print only the names of the files copied. Available options: source: absolute path of the source files target: absolute path of the target files relative: paths of the target files, relative to the target directory mapping: outputs the source and the relative target, suitable for use within an Appx mapping file --verbose <level> Verbose level (0-2).
I can think of --no-opengl-sw which doesn't deploy the 24 MiB opengl32sw.dll file, which nowadays Qt6 applications do not need. And if using Windows Store one could rely upon OpenCL™ and OpenGL® Compatibility Pack.
And at windeployqt.exe looks for library in the wrong place the user would want to pass --ignore-library-errors.
Attachments
For Gerrit Dashboard: QTBUG-116551 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
518710,2 | CMake: Add a way to pass additional arguments to win/macdeployqt | dev | qt/qtbase | Status: MERGED | +2 | 0 |
518711,3 | CMake: Add a way to pass additional arguments to win/macdeployqt | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
526465,2 | CMake: Add a way to pass additional arguments to win/macdeployqt | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |