AUTOMOC_MACRO_NAMES

3.10 版本新增。

一个分号分隔的宏名称列表,供AUTOMOC用于确定C++文件是否需要由moc处理。

此属性仅在此目标上AUTOMOC属性为ON时使用。

运行AUTOMOC时,CMake会在C++源文件和头文件中搜索AUTOMOC_MACRO_NAMES中列出的字符串。如果找到任何字符串

  • 作为新行上第一个非空格字符串,或者

  • 作为新行上{后第一个非空格字符串,

则该文件将由moc处理。

默认情况下,AUTOMOC_MACRO_NAMESCMAKE_AUTOMOC_MACRO_NAMES初始化。

另请参阅INTERFACE_AUTOMOC_MACRO_NAMES目标属性。

有关将CMake与Qt一起使用的更多信息,请参阅cmake-qt(7)手册。

示例

在这种情况下,Q_OBJECT宏隐藏在另一个名为CUSTOM_MACRO的宏中。要让CMake知道包含CUSTOM_MACRO的源文件需要经过moc处理,我们调用

set_property(TARGET tgt APPEND PROPERTY AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")