cmake/Help/prop_tgt/AUTOUIC.rst

86 lines
2.9 KiB
ReStructuredText
Raw Normal View History

2014-08-03 19:52:23 +02:00
AUTOUIC
-------
2019-11-11 23:01:05 +01:00
Should the target be processed with auto-uic (for Qt projects).
2014-08-03 19:52:23 +02:00
2019-11-11 23:01:05 +01:00
:prop_tgt:`AUTOUIC` is a boolean specifying whether CMake will handle
2014-08-03 19:52:23 +02:00
the Qt ``uic`` code generator automatically, i.e. without having to use
2021-11-20 13:41:27 +01:00
commands like :module:`QT4_WRAP_UI() <FindQt4>`, ``QT5_WRAP_UI()``, etc.
Currently, Qt versions 4 to 6 are supported.
2014-08-03 19:52:23 +02:00
2019-11-11 23:01:05 +01:00
This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
variable if it is set when a target is created.
2017-07-20 19:35:53 +02:00
2019-11-11 23:01:05 +01:00
When this property is ``ON``, CMake will scan the header and source files at
build time and invoke ``uic`` accordingly.
2018-01-26 17:06:56 +01:00
2017-07-20 19:35:53 +02:00
2019-11-11 23:01:05 +01:00
Header and source file processing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
At build time, CMake scans each header and source file from the
target's sources for include statements of the form
.. code-block:: c++
#include "ui_<ui_base>.h"
Once such an include statement is found in a file, CMake searches for the
``uic`` input file ``<ui_base>.ui``
- in the vicinity of the file and
- in the :prop_tgt:`AUTOUIC_SEARCH_PATHS` of the target.
If the ``<ui_base>.ui`` file was found, ``uic`` is called on it to generate
``ui_<ui_base>.h`` in the directory
- ``<AUTOGEN_BUILD_DIR>/include`` for single configuration generators or in
- ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>`` for
:prop_gbl:`multi configuration <GENERATOR_IS_MULTI_CONFIG>` generators.
Where ``<AUTOGEN_BUILD_DIR>`` is the value of the target property
:prop_tgt:`AUTOGEN_BUILD_DIR`.
The include directory is automatically added to the target's
:prop_tgt:`INCLUDE_DIRECTORIES`.
Modifiers
^^^^^^^^^
:prop_tgt:`AUTOUIC_EXECUTABLE`:
The ``uic`` executable will be detected automatically, but can be forced to
a certain binary using this target property.
2020-08-30 11:54:41 +02:00
:prop_tgt:`AUTOUIC_OPTIONS`:
Additional command line options for ``uic`` can be set via this target
property. The corresponding :prop_sf:`AUTOUIC_OPTIONS` source file property
can be used to specify options to be applied only to a specific
``<base_name>.ui`` file.
2019-11-11 23:01:05 +01:00
:prop_sf:`SKIP_AUTOUIC`:
Source files can be excluded from :prop_tgt:`AUTOUIC` processing by setting
this source file property.
:prop_sf:`SKIP_AUTOGEN`:
Source files can be excluded from :prop_tgt:`AUTOMOC`,
:prop_tgt:`AUTOUIC` and :prop_tgt:`AUTORCC` processing by
setting this source file property.
2014-08-03 19:52:23 +02:00
2019-11-11 23:01:05 +01:00
:prop_gbl:`AUTOGEN_TARGETS_FOLDER`:
This global property can be used to group :prop_tgt:`AUTOMOC`,
:prop_tgt:`AUTOUIC` and :prop_tgt:`AUTORCC` targets together in an IDE,
e.g. in MSVS.
2014-08-03 19:52:23 +02:00
2019-11-11 23:01:05 +01:00
:variable:`CMAKE_GLOBAL_AUTOGEN_TARGET`:
A global ``autogen`` target, that depends on all :prop_tgt:`AUTOMOC` or
:prop_tgt:`AUTOUIC` generated ``<ORIGIN>_autogen`` targets in the project,
will be generated when this variable is ``ON``.
2017-04-14 19:02:05 +02:00
2019-11-11 23:01:05 +01:00
:prop_tgt:`AUTOGEN_PARALLEL`:
This target property controls the number of ``moc`` or ``uic`` processes to
start in parallel during builds.
2018-04-23 21:13:27 +02:00
2014-08-03 19:52:23 +02:00
See the :manual:`cmake-qt(7)` manual for more information on using CMake
with Qt.