mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 07:09:22 +00:00
Help: Autogen: Overhaul AUTOUIC target property documentation
This commit is contained in:
parent
d08548c624
commit
fdab21f30b
@ -1,47 +1,82 @@
|
||||
AUTOUIC
|
||||
-------
|
||||
|
||||
Should the target be processed with autouic (for Qt projects).
|
||||
Should the target be processed with auto-uic (for Qt projects).
|
||||
|
||||
:prop_tgt:`AUTOUIC` is a boolean specifying whether CMake will handle
|
||||
the Qt ``uic`` code generator automatically, i.e. without having to use
|
||||
the :module:`QT4_WRAP_UI() <FindQt4>` or ``QT5_WRAP_UI()`` macro. Currently
|
||||
Qt4 and Qt5 are supported.
|
||||
|
||||
When this property is ``ON``, CMake will scan the source files at build time
|
||||
and invoke ``uic`` accordingly. If an ``#include`` statement like
|
||||
``#include "ui_foo.h"`` is found in ``source.cpp``, a ``foo.ui`` file is
|
||||
searched for first in the vicinity of ``source.cpp`` and afterwards in the
|
||||
optional :prop_tgt:`AUTOUIC_SEARCH_PATHS` of the target.
|
||||
``uic`` is run on the ``foo.ui`` file to generate ``ui_foo.h`` in the directory
|
||||
``<AUTOGEN_BUILD_DIR>/include``,
|
||||
which is automatically added to the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
||||
|
||||
* For :prop_gbl:`multi configuration generators <GENERATOR_IS_MULTI_CONFIG>`,
|
||||
the include directory is ``<AUTOGEN_BUILD_DIR>/include_<CONFIG>``.
|
||||
|
||||
* See :prop_tgt:`AUTOGEN_BUILD_DIR`.
|
||||
|
||||
This property is initialized by the value of the :variable:`CMAKE_AUTOUIC`
|
||||
variable if it is set when a target is created.
|
||||
|
||||
Additional command line options for ``uic`` can be set via the
|
||||
:prop_sf:`AUTOUIC_OPTIONS` source file property on the ``foo.ui`` file.
|
||||
The global property :prop_gbl:`AUTOGEN_TARGETS_FOLDER` can be used to group the
|
||||
autouic targets together in an IDE, e.g. in MSVS.
|
||||
When this property is ``ON``, CMake will scan the header and source files at
|
||||
build time and invoke ``uic`` accordingly.
|
||||
|
||||
|
||||
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 the :prop_tgt:`AUTOUIC_EXECUTABLE` property.
|
||||
a certain binary using this target property.
|
||||
|
||||
Source files can be excluded from :prop_tgt:`AUTOUIC` processing by
|
||||
enabling :prop_sf:`SKIP_AUTOUIC` or the broader :prop_sf:`SKIP_AUTOGEN`.
|
||||
:prop_sf:`AUTOUIC_OPTIONS`: Additional command line options for ``uic`` can
|
||||
be set via this source file property on a ``<base_name>.ui`` file.
|
||||
|
||||
The number of parallel ``uic`` processes to start can be modified by
|
||||
setting :prop_tgt:`AUTOGEN_PARALLEL`.
|
||||
:prop_sf:`SKIP_AUTOUIC`:
|
||||
Source files can be excluded from :prop_tgt:`AUTOUIC` processing by setting
|
||||
this source file property.
|
||||
|
||||
A global ``autogen`` target that depends on all :prop_tgt:`AUTOUIC` generated
|
||||
``<ORIGIN>_autogen`` targets in the project can be generated by enabling
|
||||
:variable:`CMAKE_GLOBAL_AUTOGEN_TARGET`.
|
||||
: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.
|
||||
|
||||
: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.
|
||||
|
||||
: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``.
|
||||
|
||||
:prop_tgt:`AUTOGEN_PARALLEL`:
|
||||
This target property controls the number of ``moc`` or ``uic`` processes to
|
||||
start in parallel during builds.
|
||||
|
||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||
with Qt.
|
||||
|
Loading…
Reference in New Issue
Block a user