AUTOUIC¶
Should the target be processed with autouic (for Qt projects).
AUTOUIC
is a boolean specifying whether CMake will handle
the Qt uic
code generator automatically, i.e. without having to use
the QT4_WRAP_UI()
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 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 INCLUDE_DIRECTORIES
.
For
multi configuration generators
, the include directory is<AUTOGEN_BUILD_DIR>/include_<CONFIG>
.See
AUTOGEN_BUILD_DIR
.
This property is initialized by the value of the CMAKE_AUTOUIC
variable if it is set when a target is created.
Additional command line options for uic
can be set via the
AUTOUIC_OPTIONS
source file property on the foo.ui
file.
The global property AUTOGEN_TARGETS_FOLDER
can be used to group the
autouic targets together in an IDE, e.g. in MSVS.
The uic
executable will be detected automatically, but can be forced to
a certain binary using the AUTOUIC_EXECUTABLE
property.
Source files can be excluded from AUTOUIC
processing by
enabling SKIP_AUTOUIC
or the broader SKIP_AUTOGEN
.
The number of parallel uic
processes to start can be modified by
setting AUTOGEN_PARALLEL
.
A global autogen
target that depends on all AUTOUIC
generated
<ORIGIN>_autogen
targets in the project can be generated by enabling
CMAKE_GLOBAL_AUTOGEN_TARGET
.
See the cmake-qt(7)
manual for more information on using CMake
with Qt.