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相结合的更多信息。