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(7)
以获取有关将 CMake 与 Qt 配合使用的更多信息。
实例¶
在此情况下,Q_OBJECT
宏隐藏在名为 CUSTOM_MACRO
的另一个宏中。为了让 CMake 知道包含 CUSTOM_MACRO
的源文件需要进行 moc
处理,我们调用
set_property(TARGET tgt APPEND PROPERTY AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")