AUTOMOC_PATH_PREFIX¶
在版本 3.16 中新增。
當此屬性為 ON
時,CMake 將在啟用 AUTOMOC
的 Qt 目標上為 moc
產生 -p
路徑前綴選項。
為了產生路徑前綴,CMake 會測試由 moc
編譯的標頭檔是否在任何目標 include directories
中。 如果是,CMake 將相應地計算相對路徑。 如果標頭檔不在 include directories
中,CMake 將省略 -p
路徑前綴選項。 在這種情況下,moc
通常會產生相對 include 路徑。
AUTOMOC_PATH_PREFIX
是從變數 CMAKE_AUTOMOC_PATH_PREFIX
初始化而來,預設為 OFF
。
有關將 CMake 與 Qt 結合使用的更多資訊,請參閱 cmake-qt(7)
手冊。
可重現的建置¶
為了實現可重現的建置,建議將由 moc
編譯的標頭檔保留在目標 include directories
之一中,並將 AUTOMOC_PATH_PREFIX
設定為 ON
。 這樣可以確保
moc
輸出檔案在不同的建置設定上是相同的,當原始碼和/或建置目錄是符號連結時,
moc
輸出檔案將正確編譯。