¡Un archivo CMake Toolchain para iOS (+ catalizador), desarrollo WatchOS, TVOS y MacOS con soporte de simulador completo y opciones alternables!
NOTA : Cambie el -DPLATFORM a un valor aplicable si se dirige a otra plataforma.
cd example/example-lib
cmake -B build -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
cmake --build build --config ReleaseEsto construirá la biblioteca para la plataforma dada. En este caso, iOS con la arquitectura ARM64.
Las opciones llamadas *combinadas (OS64Combined, TvosCombined y WatchOSCombined) construirán bibliotecas de grasa completas para la plataforma dada. ¡Estas bibliotecas de grasa incluyen rebanadas para el dispositivo y el simulador, lo que hace que la distribución y el uso de la biblioteca sean mucho más simples!
Ejemplo:
cmake . -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64COMBINED
cmake --build . --config Release
cmake --install . --config Release # Necessary to build combined libraryNota : ¡Las opciones combinadas solo funcionan con el generador Xcode (-g xcode) en las versiones CMake 3.14+!
XCODE_VERSION - Número de versión (sin incluir la versión de compilación) de Xcode detectado.
SDK_VERSION - Versión de SDK que se utiliza.
CMAKE_OSX_ARCHITECTURES - Arquitecturas que se compilan (generadas desde la plataforma).
APPLE_TARGET_TRIPLE : utilizado por AutoConf Build Systems.
-DENABLE_BITCODE=(BOOL) : deshabilitado por defecto, especifique verdadero o 1 para habilitar BitCode
-DENABLE_ARC=(BOOL) : habilitado por defecto, especifique falso o 0 para deshabilitar ARC
-DENABLE_VISIBILITY=(BOOL) : deshabilitado de forma predeterminada, especifique verdadero o 1 para habilitar el soporte de visibilidad del símbolo
-DENABLE_STRICT_TRY_COMPILE=(BOOL) : deshabilitado de forma predeterminada, especifique verdadero o 1 para habilitar las verificaciones de compilador estricto (ejecutará un enlazador en todas las verificaciones del compilador cuando sea necesario)
-DARCHS=(STRING) - Los valores válidos son: ARMV7, ARMV7S, ARM64, I386, X86_64, ARMV7K, ARM64_32. Por defecto, se construirá para todas las arquitecturas válidas basadas en -DPLATFORM (ver arriba)
Para combinar todas las plataformas en la misma biblioteca de grasa, construya cualquiera de los tipos de plataforma " combinados " o use la herramienta LIPO. Más información sobre cómo combinar bibliotecas con LIPO está fácilmente disponible en la red.