Um arquivo CMake Toolchain para iOS (+ catalisador), WatchOS, TVOS e MacOS Development com suporte completo ao simulador e opções alternáveis!
Nota : Altere o -DPLATFORM para um valor aplicável se direcionar outra plataforma.
cd example/example-lib
cmake -B build -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
cmake --build build --config ReleaseIsso criará a biblioteca para a plataforma fornecida. Nesse caso, iOS com a arquitetura ARM64.
As opções chamadas *combinadas (OS64Combined, TVOSCombined e Watchoscombined) criarão bibliotecas gordas completas para a plataforma fornecida. Essas bibliotecas gordas incluem fatias para dispositivos e simulador, tornando a distribuição e o uso da biblioteca muito mais simples!
Exemplo:
cmake . -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64COMBINED
cmake --build . --config Release
cmake --install . --config Release # Necessary to build combined libraryNOTA : As opções combinadas funcionam apenas com o gerador Xcode (-g Xcode) nas versões CMake 3.14+!
XCODE_VERSION - Número da versão (sem incluir a versão Build) do Xcode detectado.
SDK_VERSION - versão do SDK sendo usada.
CMAKE_OSX_ARCHITECTURES - arquiteturas sendo compiladas (geradas a partir da plataforma).
APPLE_TARGET_TRIPLE - usado pelos sistemas de construção do AutoConf.
-DENABLE_BITCODE=(BOOL) - Desativado por padrão, especifique true ou 1 para ativar o bitcode
-DENABLE_ARC=(BOOL) - ativado por padrão, especifique false ou 0 para desativar o arco
-DENABLE_VISIBILITY=(BOOL) - Desativado por padrão, especifique o true ou 1 para ativar o suporte à visibilidade do símbolo
-DENABLE_STRICT_TRY_COMPILE=(BOOL) - Desativado por padrão, especifique true ou 1 para ativar verificações estritas do compilador (executará o vinculador em todas as verificações do compilador sempre que necessário)
-DARCHS=(STRING) - Os valores válidos são: ARMV7, ARMV7S, ARM64, I386, X86_64, ARMV7K, ARM64_32. Por padrão, ele será construído para todas as arquiteturas válidas com base em -DPLATFORM (veja acima)
Para combinar todas as plataformas na mesma biblioteca de gordura, crie qualquer um dos tipos de plataforma " combinados " ou use a ferramenta Lipo. Mais informações sobre como combinar bibliotecas com LIPO estão prontamente disponíveis na rede.