summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt/AUTORCC.rst
blob: 5db6ed02ee597490489aa66854e77ab14fbddb94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
AUTORCC
-------

Should the target be processed with autorcc (for Qt projects).

:prop_tgt:`AUTORCC` is a boolean specifying whether CMake will handle
the Qt ``rcc`` code generator automatically, i.e. without having to use
the :module:`QT4_ADD_RESOURCES() <FindQt4>` or ``QT5_ADD_RESOURCES()``
macro.  Currently Qt4 and Qt5 are supported.

When this property is ``ON``, CMake will handle ``.qrc`` files added
as target sources at build time and invoke ``rcc`` accordingly.
This property is initialized by the value of the :variable:`CMAKE_AUTORCC`
variable if it is set when a target is created.

By default :prop_tgt:`AUTORCC` is processed inside a
:command:`custom command <add_custom_command>`.
If the ``.qrc`` file is :prop_sf:`GENERATED` though, a
:command:`custom target <add_custom_target>` is used instead.

Additional command line options for rcc can be set via the
:prop_sf:`AUTORCC_OPTIONS` source file property on the ``.qrc`` file.

The ``rcc`` executable will be detected automatically, but can be forced to
a certain binary using the :prop_tgt:`AUTORCC_EXECUTABLE` property.

The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group
the autorcc targets together in an IDE, e.g. in MSVS.

The global property :prop_gbl:`AUTOGEN_SOURCE_GROUP` can be used to group
files generated by :prop_tgt:`AUTORCC` together in an IDE, e.g.  in MSVS.

When there are multiple ``.qrc`` files with the same name, CMake will
generate unspecified unique names for ``rcc``.  Therefore if
``Q_INIT_RESOURCE()`` or ``Q_CLEANUP_RESOURCE()`` need to be used the
``.qrc`` file name must be unique.

Source files can be excluded from :prop_tgt:`AUTORCC` processing by
enabling :prop_sf:`SKIP_AUTORCC` or the broader :prop_sf:`SKIP_AUTOGEN`.

A global ``autorcc`` target that depends on all :prop_tgt:`AUTORCC` targets
in the project can be generated by enabling
:variable:`CMAKE_GLOBAL_AUTORCC_TARGET`.

See the :manual:`cmake-qt(7)` manual for more information on using CMake
with Qt.