CMake: Add NO_COMPILER_RUNTIME to qt_generate_deploy_qml_app_script

Provides the NO_COMPILER_RUNTIME boolean option to
qt_generate_deploy_qml_app_script(), which forwards to
qt_deploy_runtime_dependencies().

On Windows, this option prevents the deployment of compiler runtimes.

[ChangeLog][CMake] Added the option NO_COMPILER_RUNTIME to
qt_generate_deploy_qml_app_script.

Task-number: QTBUG-111741
Pick-to: 6.5 6.5.0
Change-Id: Ic51fc5430e21b8c5aba201d4675a37c9c220a3f2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Christian Heimlich 2023-03-09 10:40:19 -05:00
parent bab8e70599
commit 0a0f777821
2 changed files with 8 additions and 0 deletions

View File

@ -3072,6 +3072,7 @@ function(qt6_generate_deploy_qml_app_script)
set(no_value_options
NO_UNSUPPORTED_PLATFORM_ERROR
NO_TRANSLATIONS
NO_COMPILER_RUNTIME
MACOS_BUNDLE_POST_BUILD
DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM
)
@ -3155,6 +3156,9 @@ function(qt6_generate_deploy_qml_app_script)
if(arg_NO_TRANSLATIONS)
string(APPEND common_deploy_args " NO_TRANSLATIONS\n")
endif()
if(arg_NO_COMPILER_RUNTIME)
string(APPEND common_deploy_args " NO_COMPILER_RUNTIME\n")
endif()
# Forward the arguments that are exactly the same for qt_deploy_runtime_dependencies.
foreach(var IN LISTS qt_deploy_runtime_dependencies_options)

View File

@ -24,6 +24,7 @@ qt_generate_deploy_qml_app_script(
OUTPUT_SCRIPT <var>
[NO_UNSUPPORTED_PLATFORM_ERROR]
[NO_TRANSLATIONS]
[NO_COMPILER_RUNTIME]
[DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM]
[MACOS_BUNDLE_POST_BUILD]
[PRE_INCLUDE_REGEXES regexes...]
@ -99,6 +100,9 @@ inhibit this behavior, specify \c{NO_TRANSLATIONS}. Use
\l{qt_deploy_translations}{qt_deploy_translations()} to deploy translations in a
customized way.
For Windows desktop applications, the required runtime files for the compiler
are also installed by default. To prevent this, specify \c{NO_COMPILER_RUNTIME}.
The options \c{PRE_INCLUDE_REGEXES}, \c{PRE_EXCLUDE_REGEXES},
\c{POST_INCLUDE_REGEXES}, \c{POST_EXCLUDE_REGEXES}, \c{POST_INCLUDE_FILES}, and
\c{POST_EXCLUDE_FILES} can be specified to control the deployment of runtime