Skip to content

Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES

Descrition

A new interface target property was added. It can be set by set_target_properties(). Macro names specified in INTERFACE_AUTOMOC_MACRO_NAMES will be inherited by the target and added to its AUTOMOC_MACRO_NAMES. This means that the target will automatically generate MOC files for source files that contain the inherited macro names. By default INTERFACE_AUTOMOC_MACRO_NAMES is empty.

Related commit: OrkunTokdemir/cmake@cb7b6a76

Further info: #19679 (closed)

The EvaluatedTarget class and related functions were moved to a new header file. The EvaluatedTarget class won't be used only in cmGeneratorTarget.cxx anymore. It was moved to a new header file so that other *.cxx and *.h files include it. For example cmQtAutoGenInitializer.cxx needs to use the EvaluatedTarget class.

Related commit: OrkunTokdemir/cmake@6a82f597

The QtAutogen setup was deferred into Generate. It is better to set variables up after all target dependencies are computed/calculated. Therefore, the setup QtAutogen was deferred into Generate instead of Compute.

Related commit: OrkunTokdemir/cmake@48adde47

Fixes: #19679 (closed)
Topic-rename: automoc-macro-names

Edited by Brad King

Merge request reports