XCODE_EMBED_<type>¶
在版本 3.20 中新增。
告知 Xcode
產生器將指定的項目列表嵌入到目標 bundle 中。<type>
指定要使用的嵌入建置階段。 有關每個 <type>
的基本位置,請參閱 Xcode 文件。
<type>
的支援值為
FRAMEWORKS
指定的項目將被添加到
Embed Frameworks
建置階段。 項目可以是 CMake 目標名稱或框架或函式庫的路徑。APP_EXTENSIONS
在版本 3.21 中新增。
指定的項目將被添加到
Embed App Extensions
建置階段,且Destination
設定為PlugIns and Foundation Extensions
。 它們必須是 CMake 目標名稱。EXTENSIONKIT_EXTENSIONS
在版本 3.26 中新增。
指定的項目將被添加到
Embed App Extensions
建置階段,且Destination
設定為ExtensionKit Extensions
。 它們必須是 CMake 目標名稱,並且可能應該將XCODE_PRODUCT_TYPE
目標屬性設定為com.apple.product-type.extensionkit-extension
,以及將XCODE_EXPLICIT_FILE_TYPE
設定為wrapper.extensionkit-extension
。PLUGINS
在版本 3.23 中新增。
指定的項目將被添加到
Embed PlugIns
建置階段。 它們必須是 CMake 目標名稱。RESOURCES
在版本 3.28 中新增。
指定的項目將被添加到
Embed Resources
建置階段。 它們必須是 CMake 目標名稱或資料夾路徑。XPC_SERVICES
在版本 3.29 中新增。
指定的項目將被添加到
Embed XPC Services
建置階段。 它們必須是 CMake 目標名稱。
當將目標列為任何要嵌入的項目時,Xcode 必須將該目標視為同一個 Xcode 專案的一部分,或是定義 bundle 的專案的子專案。 為了滿足此限制,CMake 專案必須確保至少滿足以下其中一項
CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY
變數在頂層CMakeLists.txt
檔案中設定為 true。 這是最簡單且最穩健的方法。在定義要嵌入的目標的子目錄中定義要嵌入的目標。
如果要嵌入的目標和被嵌入的目標位於不同的、不相關的目錄中(即它們是同級目錄,而不是父子目錄),請確保它們在父目錄中有一個共同的
project()
呼叫,並且在它們自身和該共同的project()
呼叫之間沒有其他project()
呼叫。
另請參閱 XCODE_EMBED_<type>_PATH
、XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY
和 XCODE_EMBED_<type>_CODE_SIGN_ON_COPY
。