AUTOUIC¶
Should the target be processed with auto-uic (for Qt projects).
AUTOUIC
is a boolean specifying whether CMake will handle
the Qt uic
code generator automatically, i.e. without having to use
commands like QT4_WRAP_UI()
, qt5_wrap_ui(), etc.
Currently, Qt versions 4 to 6 are supported.
This property is initialized by the value of the CMAKE_AUTOUIC
variable if it is set when a target is created.
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
#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
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>
formulti configuration
generators.
Where <AUTOGEN_BUILD_DIR>
is the value of the target property
AUTOGEN_BUILD_DIR
.
The include directory is automatically added to the target's
INCLUDE_DIRECTORIES
.
Modifiers¶
AUTOUIC_EXECUTABLE
:
The uic
executable will be detected automatically, but can be forced to
a certain binary using this target property.
AUTOUIC_OPTIONS
:
Additional command line options for uic
can be set via this target
property. The corresponding AUTOUIC_OPTIONS
source file property
can be used to specify options to be applied only to a specific
<base_name>.ui
file.
SKIP_AUTOUIC
:
Source files can be excluded from AUTOUIC
processing by setting
this source file property.
SKIP_AUTOGEN
:
Source files can be excluded from AUTOMOC
,
AUTOUIC
and AUTORCC
processing by
setting this source file property.
AUTOGEN_TARGETS_FOLDER
:
This global property can be used to group AUTOMOC
,
AUTOUIC
and AUTORCC
targets together in an IDE,
e.g. in MSVS.
CMAKE_GLOBAL_AUTOGEN_TARGET
:
A global autogen
target, that depends on all AUTOMOC
or
AUTOUIC
generated The <ORIGIN>_autogen target targets in the project,
will be generated when this variable is ON
.
AUTOGEN_PARALLEL
:
This target property controls the number of moc
or uic
processes to
start in parallel during builds.
AUTOGEN_COMMAND_LINE_LENGTH_MAX
:
This target property controls the limit when to use response files for
moc
or uic
processes on Windows.
See the cmake-qt(7)
manual for more information on using CMake
with Qt.