You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
2.0 KiB
49 lines
2.0 KiB
GENERATED
|
|
---------
|
|
|
|
Is this source file generated as part of the build or CMake process.
|
|
|
|
.. versionchanged:: 3.20
|
|
The GENERATED source file property is now visible in all directories.
|
|
|
|
Tells the internal CMake engine that a source file is generated by an outside
|
|
process such as another build step, or the execution of CMake itself.
|
|
This information is then used to exempt the file from any existence or
|
|
validity checks.
|
|
|
|
Any file that is
|
|
|
|
- created by the execution of commands such as
|
|
:command:`add_custom_command` which run during the build
|
|
- listed as one of the ``BYPRODUCTS`` of an :command:`add_custom_command`
|
|
or :command:`add_custom_target` command, or
|
|
- created by a CMake ``AUTOGEN`` operation such as :prop_tgt:`AUTOMOC`,
|
|
:prop_tgt:`AUTORCC`, or :prop_tgt:`AUTOUIC`
|
|
|
|
will be marked with the ``GENERATED`` property.
|
|
|
|
When a generated file created as the ``OUTPUT`` of an
|
|
:command:`add_custom_command` command is explicitly listed as a source file
|
|
for any target in the same directory scope (which usually means the same
|
|
``CMakeLists.txt`` file), CMake will automatically create a dependency to
|
|
make sure the file is generated before building that target.
|
|
|
|
The :ref:`Makefile Generators` will remove ``GENERATED`` files during
|
|
``make clean``.
|
|
|
|
Generated sources may be hidden in some IDE tools, while in others they might
|
|
be shown. For the special case of sources generated by CMake's :prop_tgt:`AUTOMOC`,
|
|
:prop_tgt:`AUTORCC` or :prop_tgt:`AUTOUIC` functionality, the
|
|
:prop_gbl:`AUTOGEN_SOURCE_GROUP`, :prop_gbl:`AUTOMOC_SOURCE_GROUP`,
|
|
:prop_gbl:`AUTORCC_SOURCE_GROUP` and :prop_gbl:`AUTOUIC_SOURCE_GROUP` target
|
|
properties may influence where the generated sources are grouped in the project's
|
|
file lists.
|
|
|
|
.. note::
|
|
|
|
Starting with CMake 3.20 the ``GENERATED`` source file property can be set
|
|
and retrieved from any directory scope. It is an all-or-nothing property.
|
|
It also can no longer be removed or unset if it was set to ``TRUE``. Policy
|
|
:policy:`CMP0118` was introduced to allow supporting the ``OLD`` behavior
|
|
for some time.
|