Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cmake-configure-variables.qdoc
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4/* NOTE: The variables documented here are available when running CMake, they
5** are not available in a deployment script. They are members of the
6** cmake-variables-qtcore group. Deploy-time variables are members of
7** the cmake-deploy-variables-qtcore group.
8**/
9
10/*!
11\group cmake-variables-qtcore
12\title CMake Variables in Qt6 Core
13\brief Lists CMake variables defined in Qt6::Core.
14
15The following CMake variables are defined when Qt6::Core is loaded, for instance
16with
17
18\badcode
19find_package(Qt6 REQUIRED COMPONENTS Core)
20\endcode
21
22\sa{CMake Variable Reference}
23*/
24
25/*!
26\page cmake-variable-android-ndk-host-system-name.html
27\ingroup cmake-variables-qtcore
28
29\title ANDROID_NDK_HOST_SYSTEM_NAME
30\target cmake-variable-ANDROID_NDK_HOST_SYSTEM_NAME
31
32\summary {Android-specific architecture of the host system.}
33
34\cmakevariablesince 6.0
35\preliminarycmakevariable
36\cmakevariableandroidonly
37
38Usually, this variable is set by the Android NDK toolchain file. It is written out as
39part of the deployment settings for a target.
40
41\sa qt_android_generate_deployment_settings()
42\sa {Setting CMake variables and properties}
43*/
44
45/*!
46\page cmake-variable-android-sdk-root.html
47\ingroup cmake-variables-qtcore
48
49\title ANDROID_SDK_ROOT
50\target cmake-variable-ANDROID_SDK_ROOT
51
52\summary {Location of the Android SDK.}
53
54\cmakevariablesince 6.0
55\preliminarycmakevariable
56\cmakevariableandroidonly
57
58Specifies the location of the Android SDK when building for the Android platform.
59This variable is written out as part of the deployment settings for a target.
60
61\sa qt_android_generate_deployment_settings().
62\sa {Setting CMake variables and properties}
63*/
64
65/*!
66\page cmake-variable-qt-android-application-arguments.html
67\ingroup cmake-variables-qtcore
68\ingroup cmake-android-manifest-properties
69
70\title QT_ANDROID_APPLICATION_ARGUMENTS
71\target cmake-variable-QT_ANDROID_APPLICATION_ARGUMENTS
72
73\summary {List of arguments to pass to Android applications.}
74
75\cmakevariablesince 6.0
76\preliminarycmakevariable
77\cmakevariableandroidonly
78
79Contains a list of arguments to be passed to Android applications. This variable
80is written out as part of the deployment settings for a target.
81
82\sa qt_android_generate_deployment_settings()
83\sa {Setting CMake variables and properties}
84*/
85
86/*!
87\page cmake-variable-qt-android-post-build-gradle-cleanup.html
88\ingroup cmake-variables-qtcore
89\ingroup cmake-android-manifest-properties
90
91\title QT_ANDROID_POST_BUILD_GRADLE_CLEANUP
92\target cmake-variable-QT_ANDROID_POST_BUILD_GRADLE_CLEANUP
93
94\summary {Perform a Gradle cleanup after the Android package is created.}
95
96\cmakevariablesince 6.11
97\preliminarycmakevariable
98\cmakevariableandroidonly
99
100After the Android package build is done and the APK is created, perform a Gradle
101clean task to remove build artifacts. This is useful to keep disk space taken
102by Qt for Android projects at a minimal.
103
104\sa qt_android_generate_deployment_settings()
105\sa {Setting CMake variables and properties}
106*/
107
108/*!
109\page cmake-variable-qt-android-create-symlinks-only.html
110\ingroup cmake-variables-qtcore
111\ingroup cmake-android-manifest-properties
112
113\title QT_ANDROID_CREATE_SYMLINKS_ONLY
114\target cmake-variable-QT_ANDROID_CREATE_SYMLINKS_ONLY
115
116\summary {Only create symlinks for dependencies under the Gradle project directory.}
117
118\cmakevariablesince 6.11
119\preliminarycmakevariable
120\cmakevariableandroidonly
121
122Create symlinks for shared libraries, jars and resource, etc. instead of a full
123copy. This can be useful to avoid projects taking extra space, and instead directly
124use, for example, library files referenced from a Qt installation.
125
126\sa qt_android_generate_deployment_settings()
127\sa {Setting CMake variables and properties}
128*/
129
130/*!
131\page cmake-variable-qt-android-gradle-multi-module.html
132\ingroup cmake-variables-qtcore
133\ingroup cmake-android-build-properties
134
135\title QT_ANDROID_GRADLE_MULTI_MODULE
136\target cmake-variable-QT_ANDROID_GRADLE_MULTI_MODULE
137
138\summary {Builds the Android package from a multi-module Gradle project.}
139
140\cmakevariablesince 6.12
141\preliminarycmakevariable
142\cmakevariableandroidonly
143
144Set this variable to \c TRUE to package an application from a Gradle project
145that has one module per Android artifact, an \c app module for the application
146and one module for each dynamic feature:
147
148\badcode
149<build>/android-build-<target>/
150 app/ # the application module
151 <feature_1_target>/ # Dynamic feature 1
152 <feature_2_target>/ # Dynamic feature 2
153 settings.gradle # includes app and other dynamic features
154\endcode
155
156Feature modules are what \l{Android: Android Feature Delivery Documentation}
157{Play Feature Delivery} builds on, so \c qt_add_android_dynamic_features()
158requires this variable, see \l qt_add_android_dynamic_feature_java_source_dirs.
159For a complete project that uses it, see \l{Using Play Feature Delivery}.
160
161\note Using Dynamic features doesn't support multi-ABI yet.
162
163Set the variable when configuring the project:
164
165\badcode
166qt-cmake -S <source_dir> -B <build_dir> -DQT_ANDROID_GRADLE_MULTI_MODULE=ON
167\endcode
168
169 or early on before \l qt_add_executable() so that it is known before the
170 executable is created:
171
172\badcode
173set(QT_ANDROID_GRADLE_MULTI_MODULE ON)
174\endcode
175
176The variable also decides what builds the package. By default, CMake writes a
177deployment settings file and hands the rest to \l androiddeployqt, which
178resolves the Qt dependencies, copies them into the build directory, and runs
179Gradle from there. With the variable enabled, CMake deploys the dependencies
180itself as regular build steps and generates the Gradle files of every module.
181The \c apk and \c aab targets then run Gradle directly, and androiddeployqt
182isn't involved at all. The application is packaged from
183\c {android-build-<target>/app}, and the deployed files are build dependencies
184of the package. This option is generally faster and simpler since it relies on
185the CMake build graph and doesn't rely on additional deplyoment tools.
186
187The variable is available since Qt 6.11 as \c QT_USE_ANDROID_MODERN_BUNDLE.
188That name is deprecated since Qt 6.12, but is still honored if set.
189
190\sa QT_USE_TARGET_ANDROID_BUILD_DIR
191\sa qt_add_android_dynamic_feature_java_source_dirs()
192\sa {Setting CMake variables and properties}
193*/
194
195/*!
196\page cmake-variable-qt-android-deployment-type.html
197\ingroup cmake-variables-qtcore
198\ingroup cmake-android-build-properties
199
200\title QT_ANDROID_DEPLOYMENT_TYPE
201\target cmake-variable-QT_ANDROID_DEPLOYMENT_TYPE
202
203\summary {Forces or disables release package signing regardless of the build type.}
204
205\cmakevariablesince 6.7
206\cmakevariableandroidonly
207
208When set to \c Release, the \c --release flag is passed to the \c
209androiddeployqt tool, regardless of the application build type. When set to
210another value, the \c --release flag is never passed to the tool, which
211effectively disables release package signing even in Release or RelWithDebInfo
212builds. When not set, the default behavior is to use release package signing in
213build types other than Debug.
214
215This variable is not supposed to be set in CMake project files. Rather set it
216when configuring your project on the command line or in the CMake settings of
217your IDE.
218
219\sa {androiddeployqt}
220\sa {Setting CMake variables and properties}
221*/
222
223/*!
224\page cmake_variable-qt-android-multi-abi-forward-vars
225\ingroup cmake-variables-qtcore
226\ingroup cmake-android-build-properties
227
228\title QT_ANDROID_MULTI_ABI_FORWARD_VARS
229\target cmake-variable-QT_ANDROID_MULTI_ABI_FORWARD_VARS
230
231\summary {Allows to share CMake variables in multi-ABI builds.}
232
233\cmakevariablesince 6.4.2
234\preliminarycmakevariable
235\cmakevariableandroidonly
236
237Allows specifying the list of
238CMake variables that need to be forwarded from the main ABI project to
239ABI-specific subprojects. Due to the specifics of the Multi-ABI project build
240process, there is no generic way to forward the CMake cache variables
241that are specified either in the command line or in another similar way.
242
243A typical use case for the variable is propagating CMake cache variables
244specified in the command line. For example, a project has two variables
245\c{PROJECT_WIDE_VARIABLE1} and \c{PROJECT_WIDE_VARIABLE2} that affect the
246project configuration:
247\badcode
248cmake_minimum_required(VERSION 3.18)
249
250project(MyProject LANGUAGES CXX)
251
252find_package(Qt6 REQUIRED COMPONENTS Core)
253
254qt_add_executable(MyApp main.cpp)
255
256if(PROJECT_WIDE_VARIABLE1)
257 target_sources(MyApp PRIVATE sourcefile1.cpp)
258endif()
259if(PROJECT_WIDE_VARIABLE2)
260 target_sources(MyApp PRIVATE sourcefile2.cpp)
261endif()
262\endcode
263
264The above contents of \c{CMakeLists.txt} enable you to control how
265\c{MyApp} is built by setting the corresponding CMake variables from the
266command line:
267\badcode
268qt-cmake -S<source directory> -B<build directory> \
269 -DPROJECT_WIDE_VARIABLE1=ON \
270 -DPROJECT_WIDE_VARIABLE2=ON \
271 -DQT_ANDROID_MULTI_ABI_FORWARD_VARS="PROJECT_WIDE_VARIABLE1;PROJECT_WIDE_VARIABLE2"
272\endcode
273
274When configuring the application for desktop, \c{PROJECT_WIDE_VARIABLE1} and
275\c{PROJECT_WIDE_VARIABLE2} are visible in CMake listings and scripts as global
276cache variables. This doesn't work for Android Multi-ABI builds because
277ABI-specific subprojects do not inherit the cache variables from the main-ABI
278project. This issue can be solved by passing the list of required variables to
279the \c{QT_ANDROID_MULTI_ABI_FORWARD_VARS} variable, so both
280\c{PROJECT_WIDE_VARIABLE1} and \c{PROJECT_WIDE_VARIABLE2} values will be
281propagated to the ABI-specific builds.
282
283The variable can be also defined in the project's CMakeLists.txt:
284\badcode
285...
286qt_add_executable(MyApp main.cpp)
287...
288if(ANDROID)
289 set(QT_ANDROID_MULTI_ABI_FORWARD_VARS "PROJECT_WIDE_VARIABLE1;PROJECT_WIDE_VARIABLE2")
290endif()
291...
292\endcode
293
294Set the variable in this way to have a predefined set of
295variables that will always be forwarded to ABI-specific projects.
296
297\note The forwarding is done in the target finalizer, which is implicitly
298called when \l qt_add_executable() is used. The
299finalization occurs automatically when using CMake 3.19 or later.
300
301\sa qt_finalize_target(), qt_add_executable()
302*/
303
304/*!
305\page cmake-variable-qt-android-build-all-abis.html
306\ingroup cmake-variables-qtcore
307\ingroup cmake-android-build-properties
308
309\title QT_ANDROID_BUILD_ALL_ABIS
310\target cmake-variable-QT_ANDROID_BUILD_ALL_ABIS
311
312\summary {Enables building multi-ABI packages using the autodetected \Q4A SDK list.}
313
314\cmakevariablesince 6.3
315\preliminarycmakevariable
316\cmakevariableandroidonly
317
318Automatically detects available ABIs of \Q4A and uses them to
319build a package. The automatic detection expects the default directory structure
320supplied by the Qt installer, with the corresponding naming of the directories.
321\include cmake-android-supported-abis.qdocinc
322The typical directory structure looks as below:
323\badcode
324/path/to/Qt/6.x.x
325 android_armv7
326 android_arm64_v8a
327 android_x86
328 android_x86_64
329 ...
330\endcode
331The auto-detected paths can be customized using one of \c{QT_PATH_ANDROID_ABI_<ABI>} variables.
332
333The variable is set to \c FALSE by default.
334
335\note The multi-ABI project build process does not offer a generic way to
336forward the CMake cache variables that are specified either in the command line
337or in another similar way. Use QT_ANDROID_MULTI_ABI_FORWARD_VARS to specify the
338list of CMake variables to forward from the main ABI project to ABI-specific
339subprojects.
340
341\sa{QT_PATH_ANDROID_ABI_<ABI>},{QT_ANDROID_MULTI_ABI_FORWARD_VARS}
342\sa {Setting CMake variables and properties}
343*/
344
345/*!
346\page cmake-variable-qt-android-abis.html
347\ingroup cmake-variables-qtcore
348\ingroup cmake-android-build-properties
349
350\title QT_ANDROID_ABIS
351\target cmake-variable-QT_ANDROID_ABIS
352
353\summary {List of ABIs that the project packages are built for.}
354
355\cmakevariablesince 6.3
356\preliminarycmakevariable
357\cmakevariableandroidonly
358
359Specifies a list of ABIs to be used to build the project packages.
360\include cmake-android-supported-abis.qdocinc
361Each ABI should have the corresponding \Q4A either installed or
362user-built. To specify the path to the \Q4A ABI, use
363the corresponding \c{QT_PATH_ANDROID_ABI_<ABI>} variable.
364
365\note \c{QT_ANDROID_BUILD_ALL_ABIS} has the higher priority and ignores the
366QT_ANDROID_ABIS logic.
367
368\sa{QT_PATH_ANDROID_ABI_<ABI>}, {QT_ANDROID_BUILD_ALL_ABIS}
369\sa {Setting CMake variables and properties}
370*/
371
372/*!
373\page cmake-variable-qt-path-android-abi.html
374\ingroup cmake-variables-qtcore
375
376\title QT_PATH_ANDROID_ABI_<ABI>
377\target cmake-variable-QT_PATH_ANDROID_ABI_<ABI>
378
379\summary {Set of variables to specify the path to \Q4A for the corresponding ABI.}
380
381\cmakevariablesince 6.3
382\preliminarycmakevariable
383\cmakevariableandroidonly
384
385Each variable can be used to specify the path to \Q4A for the corresponding ABI.
386\include cmake-android-supported-abis.qdocinc
387
388\sa{cmake-variable-QT_ANDROID_ABIS}{QT_ANDROID_ABIS}
389\sa {Setting CMake variables and properties}
390*/
391
392/*!
393\page cmake-variable-qt-android-sign-aab.html
394\ingroup cmake-variables-qtcore
395\ingroup cmake-android-build-properties
396
397\title QT_ANDROID_SIGN_AAB
398\target cmake-variable-QT_ANDROID_SIGN_AAB
399
400\summary {Signs the .aab package with the specified keystore, alias, and store password.}
401\cmakevariablesince 6.4
402\preliminarycmakevariable
403\cmakevariableandroidonly
404
405Signs the resulting package. The path of the keystore file, the alias of the key, and passwords
406have to be specified by additional environment variables:
407\badcode
408 QT_ANDROID_KEYSTORE_PATH
409 QT_ANDROID_KEYSTORE_ALIAS
410 QT_ANDROID_KEYSTORE_STORE_PASS
411 QT_ANDROID_KEYSTORE_KEY_PASS
412\endcode
413The mentioned variables are used internally by \l{androiddeployqt}.
414
415\sa{androiddeployqt}
416\sa {Setting CMake variables and properties}
417*/
418
419/*!
420\page cmake-variable-qt-android-sign-apk.html
421\ingroup cmake-variables-qtcore
422\ingroup cmake-android-build-properties
423
424\title QT_ANDROID_SIGN_APK
425\target cmake-variable-QT_ANDROID_SIGN_APK
426
427\summary {Signs the package with the specified keystore, alias, and store password.}
428\cmakevariablesince 6.4
429\preliminarycmakevariable
430\cmakevariableandroidonly
431
432Signs the resulting package. The path of the keystore file, the alias of the key, and passwords
433have to be specified by additional environment variables:
434\badcode
435 QT_ANDROID_KEYSTORE_PATH
436 QT_ANDROID_KEYSTORE_ALIAS
437 QT_ANDROID_KEYSTORE_STORE_PASS
438 QT_ANDROID_KEYSTORE_KEY_PASS
439\endcode
440The mentioned variables are used internally by \l{androiddeployqt}.
441
442\sa{androiddeployqt}
443\sa {Setting CMake variables and properties}
444*/
445
446/*!
447\page cmake-variable-qt-android-generate-java-qml-components.html
448\ingroup cmake-variables-qtcore
449\ingroup cmake-android-build-properties
450
451\title QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS
452\target cmake-variable-QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS
453
454\summary {Enables the generation of QtQuickViewContent-based classes.}
455\cmakevariablesince 6.8
456\preliminarycmakevariable
457\cmakevariableandroidonly
458
459Set to \c TRUE to enable Java code generation for QML components of the target application. The
460generated code will be included in the resulting package. The Java package name of generated
461classes will be the same as the Android app package. If the leaf part of the package name is
462not the same as the target executable, an extra static class with the same name as the
463capitalized target executable will surround all QML modules enclosing Java classes. Each QML
464module class, again in a capitalized form, will contain \l{QtQuickViewContent} extension classes
465that represent QML components of that module.
466
467\badcode
468set(QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS TRUE)
469set_source_files_properties(MyView.qml PROPERTIES QT_QML_GENERATE_ANDROID_JAVA_CLASS TRUE)
470qt_add_qml_module(myapp URI MyModule QML_FILES MyView.qml)
471\endcode
472
473\sa {QT_QML_GENERATE_ANDROID_JAVA_CLASS}, {androiddeployqt}
474\sa {Setting CMake variables and properties}
475*/
476/*!
477\page cmake-variable-qt-use-target-android-build-dir.html
478\ingroup cmake-variables-qtcore
479
480\title QT_USE_TARGET_ANDROID_BUILD_DIR
481\target cmake-variable-QT_USE_TARGET_ANDROID_BUILD_DIR
482
483\summary {Enables the use of per-target Android build directories.}
484
485\cmakevariablesince 6.7
486\preliminarycmakevariable
487\cmakevariableandroidonly
488
489The variable appends the target-specific suffix to the android-build directory.
490The variable only takes an effect when it's set in \c CACHE. The variable is
491only supported by Qt Creator starting from version 13.
492If a single \c CMakeLists.txt contains more than one Android executable and
493this option is not set, you will see a warning. To disable the warning, set
494\c QT_SKIP_ANDROID_BUILD_DIR_CHECK to \c TRUE.
495
496\sa {Setting CMake variables and properties}
497*/
498
499/*!
500\page cmake-variable-qt-harmonyos-use-target-build-dir.html
501\ingroup cmake-variables-qtcore
502\ingroup cmake-harmonyos-build-variables
503
504\title QT_HARMONYOS_USE_TARGET_BUILD_DIR
505\target cmake-variable-QT_HARMONYOS_USE_TARGET_BUILD_DIR
506
507\summary {Enables the use of per-target HarmonyOS build directories.}
508
509\cmakevariablesince 6.12.1
510\preliminarycmakevariable
511\cmakevariableharmonyosonly
512
513Qt generates the HAP project of an executable target in a directory next to
514the target. By default, this directory is called \c{harmonyos-build-<target>},
515so that several executable targets in the same \c CMakeLists.txt do not
516overwrite each other's HAP project.
517
518Set this variable to \c OFF to use a directory called \c harmonyos-build
519instead. Only one executable target per \c CMakeLists.txt is supported then.
520
521The build directory is also written as \c harmonyos-build-directory into the
522target's deployment settings file, where tools like Qt Creator read it.
523
524\sa {Qt for HarmonyOS}
525\sa {Setting CMake variables and properties}
526*/
527
528/*!
529\page cmake-variable-qt-no-collect-build-tree-apk-deps.html
530\ingroup cmake-variables-qtcore
531
532\title QT_NO_COLLECT_BUILD_TREE_APK_DEPS
533\target cmake-variable-QT_NO_COLLECT_BUILD_TREE_APK_DEPS
534
535\summary {Prevents collecting of project-built shared library targets during Android deployment.}
536
537\cmakevariablesince 6.3
538\preliminarycmakevariable
539\cmakevariableandroidonly
540
541During project finalization, the build system collects the locations of
542all built shared library targets in the project.
543These locations are passed to \l androiddeployqt for deployment consideration when
544resolving dependencies between libraries.
545To disable this behavior, set this variable to \c TRUE.
546
547\sa qt_finalize_project()
548\sa {cmake-variable-QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS}{QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS}
549\sa {Setting CMake variables and properties}
550*/
551
552/*!
553\page cmake-variable-qt-no-collect-imported-target-apk-deps.html
554\ingroup cmake-variables-qtcore
555
556\title QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS
557\target cmake-variable-QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS
558
559\summary {Prevents collecting of imported targets during Android deployment.}
560
561\cmakevariablesince 6.5
562\preliminarycmakevariable
563\cmakevariableandroidonly
564
565When using CMake version 3.21 or later, the build system collects the locations of
566imported shared library targets that might be relevant for deployment.
567The collected targets are those that are reachable from the directory scope
568of the currently processed executable target. That includes the target's source directory
569scope and its parents.
570The collected locations are passed to \l androiddeployqt for deployment consideration when
571resolving dependencies between libraries.
572To disable this behavior, set this variable to \c TRUE.
573
574\sa qt_finalize_project()
575\sa {cmake-variable-QT_NO_COLLECT_BUILD_TREE_APK_DEPS}{QT_NO_COLLECT_BUILD_TREE_APK_DEPS}
576\sa {Setting CMake variables and properties}
577*/
578
579/*!
580\page cmake-variable-qt-host-path.html
581\ingroup cmake-variables-qtcore
582
583\title QT_HOST_PATH
584\target cmake-variable-QT_HOST_PATH
585
586\summary {Location of the host Qt installation when cross-compiling.}
587
588\cmakevariablesince 6.0
589
590When cross-compiling, this variable must be set to the install location of Qt for the host
591platform. It is used to locate tools to be run on the host (\l{moc}, \l{rcc},
592\l{androiddeployqt}, and so on). It's possible to reuse pre-installed tools
593when compiling Qt for host systems too, by using \c QT_HOST_PATH that points to
594a pre-installed host Qt and setting the \c QT_FORCE_FIND_TOOLS to \c ON. The Qt
595versions should match in this case.
596
597\sa {Setting CMake variables and properties}
598*/
599
600/*!
601\page cmake-variable-qt-no-set-xcode-development-team-id.html
602\ingroup cmake-variables-qtcore
603
604\title QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID
605\target cmake-variable-QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID
606
607\summary {Disables providing a fallback team ID during target finalization on iOS.}
608
609\cmakevariablesince 6.1
610
611When finalizing an executable target on iOS,
612\l qt_finalize_target() will populate the target's
613\c XCODE_ATTRIBUTE_DEVELOPMENT_TEAM property if it hasn't been set.
614To prevent this, set \c QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID to \c TRUE.
615
616\sa {Setting CMake variables and properties}
617*/
618
619/*!
620\page cmake-variable-qt-no-set-xcode-bundle-identifier.html
621\ingroup cmake-variables-qtcore
622
623\title QT_NO_SET_XCODE_BUNDLE_IDENTIFIER
624\target cmake-variable-QT_NO_SET_XCODE_BUNDLE_IDENTIFIER
625
626\summary {Disables providing a fallback app bundle ID during target finalization on iOS.}
627
628\cmakevariablesince 6.1
629
630When finalizing an executable target on iOS,
631\l qt_finalize_target() will populate the target's
632\c XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER and
633\c MACOSX_BUNDLE_GUI_IDENTIFIER properties if they haven't been set.
634To prevent this, set \c QT_NO_SET_XCODE_BUNDLE_IDENTIFIER to \c TRUE.
635
636\sa {Setting CMake variables and properties}
637*/
638
639/*!
640\page cmake-variable-qt-enable-verbose-deployment.html
641\ingroup cmake-variables-qtcore
642
643\title QT_ENABLE_VERBOSE_DEPLOYMENT
644\target cmake-variable-QT_ENABLE_VERBOSE_DEPLOYMENT
645
646\summary {Enables verbose mode of deployment tools.}
647
648\cmakevariablesince 6.3
649
650Enables verbose mode of the \l androiddeployqt deployment tool when it is called
651internally at build time, usually during target finalization.
652
653This variable also changes the default verbosity of install-time deployment
654scripts for other platforms (see \l qt_deploy_runtime_dependencies()), but it
655must be set before the first \c{find_package(Qt6)} call to have that effect.
656
657\sa {Setting CMake variables and properties}
658*/
659
660/*!
661\page cmake-variable-qt-deploy-support.html
662\ingroup cmake-variables-qtcore
663
664\title QT_DEPLOY_SUPPORT
665\target cmake-variable-QT_DEPLOY_SUPPORT
666
667\summary {Name of the file to include for setting up deployment support.}
668
669\cmakevariablesince 6.3
670\note The value of this variable should never be modified by project code.
671
672This configure-phase variable is set by the Core package. It is intended to be
673used as the first line of any deployment script to ensure access to the
674deployment APIs provided by Qt. Such deployment scripts do not run during
675CMake's configure phase. They are executed during installation or as
676part of a post-build rule.
677
678The following example shows one way the variable would be used when installing
679an application, along with its runtime dependencies:
680
681\include cmake-deploy-modified-variable-values.qdocinc
682
683\sa qt_deploy_runtime_dependencies(), qt_deploy_qml_imports()
684\sa {Setting CMake variables and properties}
685*/
686
687/*!
688\page cmake-variable-qt-no-standard-project-setup.html
689\ingroup cmake-variables-qtcore
690
691\title QT_NO_STANDARD_PROJECT_SETUP
692\target cmake-variable-QT_NO_STANDARD_PROJECT_SETUP
693
694\summary {Prevents subsequent calls to qt_standard_project_setup() from making any changes.}
695
696\cmakevariablesince 6.3
697
698The \l qt_standard_project_setup() command is
699typically called in the top level \c{CMakeLists.txt} file of a project. In some
700scenarios, such a project may be absorbed as a child project of a larger project
701hierarchy. A parent project may want to prevent any child project from applying
702changes to the setup. The parent project can achieve this by setting
703\c{QT_NO_STANDARD_PROJECT_SETUP} to \c TRUE before bringing in the child project
704via \l{add_subdirectory()}, \l{FetchContent_MakeAvailable()}, or other similar
705methods provided by CMake.
706
707\sa qt_standard_project_setup()
708\sa {Setting CMake variables and properties}
709*/
710
711/*!
712\page cmake-variable-qt-i18n-languages.html
713\ingroup cmake-variables-qtcore
714
715\title QT_I18N_TRANSLATED_LANGUAGES
716\target cmake-variable-QT_I18N_TRANSLATED_LANGUAGES
717
718\summary {List of languages to be used for project internationalization.}
719
720\cmakevariablesince 6.7
721
722Specifies a list of languages that are used for project
723internationalization. The single languages must be compatible with the
724string-based \l QLocale constructor.
725
726The languages in \c QT_I18N_TRANSLATED_LANGUAGES are used to:
727\list
728 \li Set up executable targets for consuming \c{.qm} files.
729 \li Automatically construct \c{.ts} file names in
730 \l qt_add_translations().
731\endlist
732
733This variable can be conveniently set with the
734\l qt_standard_project_setup() command.
735
736By default, translatable strings are considered to be written in \c{en}.
737
738\sa qt_standard_project_setup()
739\sa qt_add_translations()
740\sa {Setting CMake variables and properties}
741*/
742
743/*!
744\page cmake-variable-qt-i18n-native-language.html
745\ingroup cmake-variables-qtcore
746
747\title QT_I18N_SOURCE_LANGUAGE
748\target cmake-variable-QT_I18N_SOURCE_LANGUAGE
749
750\summary {Specifies the language of translatable strings.}
751
752\cmakevariablesince 6.7
753
754Specifies the language of translatable strings in the source code.
755The language must be compatible with the string-based \l QLocale constructor.
756
757Together with \c{QT_I18N_TRANSLATED_LANGUAGES}, this variable is used to determine the
758names of \c{.ts} files for \l qt_add_translations().
759
760This variable can be conveniently set with the
761\l qt_standard_project_setup() command.
762
763\sa qt_standard_project_setup()
764\sa qt_add_translations()
765\sa {Setting CMake variables and properties}
766*/
767
768/*!
769\page cmake-variable-qt-ios-launch-screen.html
770\ingroup cmake-variables-qtcore
771
772\title QT_IOS_LAUNCH_SCREEN
773\target cmake-variable-QT_IOS_LAUNCH_SCREEN
774
775\summary {Path to iOS launch screen storyboard used by all targets.}
776
777\cmakevariablesince 6.4
778\preliminarycmakevariable
779\cmakevariableiosonly
780
781Specifies the path to an iOS launch screen storyboard file that will be used
782by all targets within a project.
783
784\sa {Launch Screens and Launch Images}
785\sa {Setting CMake variables and properties}
786*/