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