XCODE_LINK_BUILD_PHASE_MODE¶
加入於版本 3.19。
當使用 Xcode
產生器時,要連結的函式庫將會在 Xcode 專案檔中使用「Link Binary With Libraries」建置階段或直接作為連結器旗標來指定。前者允許 Xcode 管理建置路徑,這在建立 Xcode 封存檔時可能是必要的,因為它可能會使用與常規建置不同的建置路徑。
此屬性控制針對作為應用程式套件、可執行檔、共享函式庫、共享框架或模組函式庫的目標,是否使用「Link Binary With Libraries」建置階段。
可能的值為
NONE
函式庫將會透過直接指定連結器旗標來連結。BUILT_ONLY
在以下條件下,「Link Binary With Libraries」建置階段將會被用來連結到另一個目標要連結的目標是一個常規的非匯入、非介面函式庫目標。
正在建置的目標的輸出目錄尚未從其預設值變更 (參見
RUNTIME_OUTPUT_DIRECTORY
和LIBRARY_OUTPUT_DIRECTORY
)。
KNOWN_LOCATION
在與BUILT_ONLY
相同的條件下,「Link Binary With Libraries」建置階段將會被用來連結到另一個目標,以及匯入的函式庫目標,除了類型為
UNKNOWN
的目標之外。任何直接以路徑指定的非目標函式庫。
對於所有其他情況,函式庫將會透過直接指定連結器旗標來連結。
警告
使用「Link Binary With Libraries」連結的函式庫會在透過常規連結器旗標連結的函式庫之後連結。當不同的靜態函式庫包含具有相同名稱的符號時,應考慮此順序,因為前者會優先於後者。
警告
如果兩個或多個目錄包含具有相同檔案名稱的函式庫,並且從這些目錄連結了一些函式庫,則函式庫搜尋路徑查找將最終連結來自第一個目錄的函式庫。這是 Xcode 的已知限制。
此屬性會由 CMAKE_XCODE_LINK_BUILD_PHASE_MODE
變數的值初始化,如果該變數在建立目標時有設定的話。