AUTOMOC_MACRO_NAMES

在 3.10 版本加入.

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

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

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

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

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

然后文件将由 moc 处理。

默认情况下,AUTOMOC_MACRO_NAMES 是从 CMAKE_AUTOMOC_MACRO_NAMES 初始化的。

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

例子

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

set_property(TARGET tgt APPEND PROPERTY AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")