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")