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_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 專案的一部分,或是定義套件的專案的子專案。為了滿足此約束,CMake 專案必須確保至少符合下列其中一個條件:
在頂層的
CMakeLists.txt
檔案中,將CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY
變數設定為 true。這是最簡單且最穩健的方法。在定義被嵌入目標的子目錄中,定義要嵌入的目標。
如果要嵌入的目標和被嵌入的目標位於分開且不相關的目錄中(即它們是兄弟目錄,而不是父子關係),請確保它們在父目錄中都有共同的
project()
呼叫,並且它們之間與該共同project()
呼叫之間沒有其他的project()
呼叫。
另請參閱 XCODE_EMBED_<type>_PATH
、 XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY
和 XCODE_EMBED_<type>_CODE_SIGN_ON_COPY
。