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