iOS(+ Catalyst),WatchOS,TVOS和MacOS開發的CMAKE工具鏈文件,具有完整的模擬器支持和可切換選項!
注意:如果針對另一個平台,則將-DPLATFORM更改為適用的值。
cd example/example-lib
cmake -B build -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
cmake --build build --config Release這將為給定平台構建庫。在這種情況下,iOS具有ARM64架構。
稱為 *組合的選項(OS64梳理,TVOSCOMBINED和WATEDOSCOMBINED)將為給定平台建立完整的脂肪圖。這些脂肪上限包括用於設備和模擬器的切片,使庫的發行和使用更加簡單!
例子:
cmake . -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64COMBINED
cmake --build . --config Release
cmake --install . --config Release # Necessary to build combined library注意:合併的選項僅適用於CMAKE版本上的Xcode Generator(-g Xcode)3.14+!
XCODE_VERSION檢測到的Xcode的版本號(不包括構建版本)。
SDK_VERSION使用SDK的版本。
CMAKE_OSX_ARCHITECTURES為(從平台生成)編譯的架構。
APPLE_TARGET_TRIPLE由AutoConf Build Systems使用。
-DENABLE_BITCODE=(BOOL) - 默認禁用,指定true或1以啟用比特碼
-DENABLE_ARC=(BOOL) - 默認啟用,指定false或0以禁用弧
-DENABLE_VISIBILITY=(BOOL) - 默認禁用,指定true或1啟用符號可見性支持
-DENABLE_STRICT_TRY_COMPILE=(BOOL) - 默認情況下禁用,指定true或1啟用嚴格的編譯器檢查(在需要時將在所有編譯器檢查上運行鏈接器)
-DARCHS=(STRING) - 有效值為:ARMV7,ARMV7S,ARM64,I386,X86_64,ARMV7K,ARM64_32。默認情況下,它將為基於-DPLATFORM所有有效體系結構構建(請參見上文)
要將所有平台組合到相同的脂肪圖上,要么構建任何“組合”平台類型,要么使用Lipo工具。網絡上很容易獲得有關如何將庫與Lipo相結合的更多信息。