AUTOMOC_MACRO_NAMES¶
3.10 版本新增。
一个分号分隔的宏名称列表,供AUTOMOC
用于确定C++文件是否需要由moc
处理。
此属性仅在此目标上AUTOMOC
属性为ON
时使用。
运行AUTOMOC
时,CMake会在C++源文件和头文件中搜索AUTOMOC_MACRO_NAMES
中列出的字符串。如果找到任何字符串
作为新行上第一个非空格字符串,或者
作为新行上
{
后第一个非空格字符串,
则该文件将由moc
处理。
默认情况下,AUTOMOC_MACRO_NAMES
从CMAKE_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")