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-properties.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
/*!
5
\group cmake-global-properties-qtqml
6
\title CMake Global Properties in Qt6 Qml
7
8
\l{CMake Command Reference#Qt6::Qml}{CMake Commands} know about the following
9
global CMake properties:
10
11
\sa{CMake Property Reference}
12
*/
13
14
15
/*!
16
\page cmake-global-property-qt-qmllinter-targets-folder.html
17
\ingroup cmake-properties-qtqml
18
\ingroup cmake-global-properties-qtqml
19
20
\title QT_QMLLINTER_TARGETS_FOLDER
21
22
\summary{Sets the FOLDER property for targets that belong to the QML linter.}
23
24
\cmakepropertysince 6.5
25
\preliminarycmakeproperty
26
27
Name of the \l FOLDER for targets that are related to the QML linter.
28
29
By default, this property is set to \c{QmlLinter}.
30
31
This property only has an effect if CMake's \l USE_FOLDERS property is \c{ON}.
32
33
You can enable folder support by calling
34
\l{qt6_standard_project_setup}{qt_standard_project_setup}.
35
*/
36
37
38
/*!
39
\group cmake-source-file-properties-qtqml
40
\title CMake Source File Properties in Qt6 Qml
41
42
\l{CMake Command Reference#Qt6::Qml}{CMake Commands} know about the following
43
CMake source file properties:
44
45
\sa{CMake Property Reference}
46
*/
47
48
49
/*!
50
\page cmake-source-file-property-qt-qml-internal-type.html
51
\ingroup cmake-source-file-properties-qtqml
52
53
\title QT_QML_INTERNAL_TYPE
54
55
\summary {Marks a QML file as providing an internal type.}
56
57
\cmakepropertysince 6.2
58
59
Set this property to \c TRUE to indicate that the \c{.qml} file provides an internal type.
60
61
\sa{qml-source-file-properties}{qt_target_qml_sources}
62
*/
63
64
65
/*!
66
\page cmake-source-file-property-qt-qml-singleton-type.html
67
\ingroup cmake-source-file-properties-qtqml
68
69
\title QT_QML_SINGLETON_TYPE
70
71
\summary {Marks a QML file as providing a singleton type.}
72
73
\cmakepropertysince 6.2
74
75
A \c{.qml} file that provides a singleton type needs to have its \c QT_QML_SINGLETON_TYPE source
76
property set to \c TRUE to ensure that the singleton command is written into the
77
\l{Module Definition qmldir Files}{qmldir} file.
78
This must be done in addition to the QML file containing the \c {pragma Singleton} statement.
79
The source property must be set before \l{qt_add_qml_module}{creating} the module the
80
singleton belongs to.
81
82
See \l{qt_target_qml_sources_example}{qt_target_qml_sources()} for an example on
83
how to set the \c QT_QML_SINGLETON_TYPE property.
84
85
\sa{qml-source-file-properties}{qt_target_qml_sources}
86
*/
87
88
89
/*!
90
\page cmake-source-file-property-qt-qml-skip-cachegen.html
91
\ingroup cmake-source-file-properties-qtqml
92
93
\title QT_QML_SKIP_CACHEGEN
94
95
\summary {Excludes a file from being compiled to byte code.}
96
97
\cmakepropertysince 6.2
98
99
Set this property to \c TRUE to prevent the \c{.qml} file from being compiled to byte code.
100
The file will still be added to the \c target as a resource in uncompiled form
101
(see \l{qmlcachegen-auto}{Caching compiled QML sources}).
102
103
\sa{qml-source-file-properties}{qt_target_qml_sources}
104
*/
105
106
107
/*!
108
\page cmake-source-file-property-qt-qml-skip-qmldir-entry.html
109
\ingroup cmake-source-file-properties-qtqml
110
111
\title QT_QML_SKIP_QMLDIR_ENTRY
112
113
\summary {Excludes a file from being added as a type to the QML module's typeinfo file.}
114
115
\cmakepropertysince 6.2
116
117
Set this property to \c TRUE to prevent
118
the \c{.qml} file from being added as a type to the QML module's typeinfo file
119
(see \l{qmldir-autogeneration}{Auto-generating \c{qmldir} and typeinfo files}).
120
121
\sa{qml-source-file-properties}{qt_target_qml_sources}
122
*/
123
124
125
/*!
126
\page cmake-source-file-property-qt-qml-skip-qmllint.html
127
\ingroup cmake-source-file-properties-qtqml
128
129
\title QT_QML_SKIP_QMLLINT
130
131
\summary {Prevents a file from being included in automatic qmllint processing.}
132
133
\cmakepropertysince 6.2
134
135
Set this property to \c TRUE to prevent the file from being included in
136
\l{qmllint-auto}{automatic qmllint processing}.
137
138
\sa{qml-source-file-properties}{qt_target_qml_sources}
139
*/
140
141
142
/*!
143
\page cmake-source-file-property-qt-qml-source-typename.html
144
\ingroup cmake-source-file-properties-qtqml
145
146
\title QT_QML_SOURCE_TYPENAME
147
148
\summary {Overrides the type name provided by the file.}
149
150
\cmakepropertysince 6.2
151
152
Use this property to override the \c QML type name provided by this file.
153
154
\sa{qml-source-file-properties}{qt_target_qml_sources}
155
*/
156
157
158
/*!
159
\page cmake-source-file-property-qt-qml-source-versions.html
160
\ingroup cmake-source-file-properties-qtqml
161
162
\title QT_QML_SOURCE_VERSIONS
163
164
\summary {Specifies a custom set of versions for a type.}
165
166
\cmakepropertysince 6.2
167
168
When the file needs to provide type entries for a custom set of versions,
169
for example when the QML types were first introduced in a minor patch
170
version after the \c{.0} release, specify those versions using this property.
171
172
\sa{qml-source-file-properties}{qt_target_qml_sources}
173
*/
174
175
176
/*!
177
\page cmake-source-file-property-qt-qmltc-file-basename.html
178
\ingroup cmake-source-file-properties-qtqml
179
180
\title QT_QMLTC_FILE_BASENAME
181
182
\summary {Specifies a non-default .h and .cpp file name.}
183
184
\cmakepropertysince 6.3
185
\preliminarycmakeproperty
186
187
Use this property to specify a non-default \c .h and \c .cpp file name, which helps to resolve
188
conflicting file names.
189
190
\sa{qmltc-cmake}
191
*/
192
193
/*!
194
\page cmake-source-file-property-qt-qml-skip-type-compiler.html
195
\ingroup cmake-source-file-properties-qtqml
196
197
\title QT_QML_SKIP_TYPE_COMPILER
198
199
\summary {Excludes a file from being compiled to C++ using qmltc.}
200
201
\cmakepropertysince 6.4
202
\preliminarycmakeproperty
203
204
Set this property to \c TRUE to prevent the \c{.qml} file from being compiled to
205
C++ during qmltc compilation.
206
207
\sa{qmltc-cmake}
208
*/
209
210
/*!
211
\page cmake-source-file-property-qt-qml-generate-android-java-class.html
212
\ingroup cmake-source-file-properties-qtqml
213
\ingroup cmake-android-build-properties
214
215
\title QT_QML_GENERATE_ANDROID_JAVA_CLASS
216
217
\summary {Marks a QML file for Java code generation.}
218
219
\cmakepropertysince 6.8
220
When using QML as a \l {Android: View} in Android via \l QtQuickView, you can choose
221
the QML components to make available as generated Java classes usable from Android code.
222
To mark a \c {.qml} file for code generation, set its \c QT_QML_GENERATE_ANDROID_JAVA_CLASS
223
source property to \c TRUE. The source property must be set before
224
\l {qt_add_qml_module}{creating} the module. \note The \c {.qml} file name must start with
225
an uppercase letter and define a QML component. This property is valid only if
226
\l QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS is defined.
227
228
The source file property can be set like so:
229
230
\badcode
231
set_source_files_properties(MyMainItem.qml
232
PROPERTIES QT_QML_GENERATE_ANDROID_JAVA_CLASS TRUE)
233
\endcode
234
235
You can pass multiple files at once to set_source_files_properties:
236
\badcode
237
set(plain_qml_files
238
MyItem1.qml
239
MyItem2.qml
240
FancyButton.qml
241
242
)
243
244
set(qml_to_java_files
245
MyMainItem.qml
246
MyOtherMain.qml
247
)
248
249
set_source_files_properties(${qml_to_java_files}
250
PROPERTIES QT_QML_GENERATE_ANDROID_JAVA_CLASS TRUE
251
)
252
253
qt_add_qml_module(myapp
254
URI MyModule
255
QML_FILES ${plain_qml_files} ${qml_to_java_files}
256
)
257
\endcode
258
259
\sa {Naming Custom QML Object Types}
260
*/
qtdeclarative
src
qml
doc
src
cmake
cmake-properties.qdoc
Generated on
for Qt by
1.16.1