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 輸出檔案將正確編譯。