XCODE_EMBED_<type>

加入於版本 3.20。

告知 Xcode 產生器將指定的項目清單嵌入到目標套件中。<type> 指定要使用的嵌入建置階段。請參閱 Xcode 文件以了解每個 <type> 的基本位置。

<type> 支援的值如下:

FRAMEWORKS

指定的項目將會被加入到 Embed Frameworks 建置階段。項目可以是 CMake 目標名稱或 framework 或 library 的路徑。

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_TYPEwrapper.extensionkit-extension

PLUGINS

加入於版本 3.23。

指定的項目將會被加入到 Embed PlugIns 建置階段。它們必須是 CMake 目標名稱。

RESOURCES

加入於版本 3.28。

指定的項目將會被加入到 Embed Resources 建置階段。它們必須是 CMake 目標名稱或資料夾路徑。

XPC_SERVICES

加入於版本 3.29。

指定的項目將會被加入到 Embed XPC Services 建置階段。它們必須是 CMake 目標名稱。

當列出一個目標作為任何嵌入的項目時,Xcode 必須將該目標視為同一個 Xcode 專案的一部分,或是定義套件的專案的子專案。為了滿足此約束,CMake 專案必須確保至少符合下列其中一個條件:

  • 在頂層的 CMakeLists.txt 檔案中,將 CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY 變數設定為 true。這是最簡單且最穩健的方法。

  • 在定義被嵌入目標的子目錄中,定義要嵌入的目標。

  • 如果要嵌入的目標和被嵌入的目標位於分開且不相關的目錄中(即它們是兄弟目錄,而不是父子關係),請確保它們在父目錄中都有共同的 project() 呼叫,並且它們之間與該共同 project() 呼叫之間沒有其他的 project() 呼叫。

另請參閱 XCODE_EMBED_<type>_PATHXCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPYXCODE_EMBED_<type>_CODE_SIGN_ON_COPY