Skip to main content

A Python script for creating XCFrameworks for CMake projects

Project description

iOSBuild

macOS Python GitHub License: MIT CI Build Read the Docs Documentation Status Coverage

Welcome to iOSBuild, a Python application for building CMake libraries for Apple systems. The aim of the project is to use a CMakeLists.txt file to generate an XCFramework containing static libraries for use across iOS and other Apple operating systems.

This project makes use of the ios-cmake toolchain to configure and build the libraries using CMake. The libraries are built for each of the specified platforms and combined into a single xcframework for each library. These may then be included in iOS, watchOS, visionOS, tvOS, and macOS applications using Xcode.

Pre-requisites

In order to run the code there are a number of non-Python projects which must be installed:

  • CMake (minimum tested version 3.22)
  • XCode (command line tools)
  • Apple SDKs for each of the specified targets
  • Python (versions 3.9-3.13 supported)

Optional Dependencies:

Since the project requires XCode and the SDK for each target platform, the project only works for macOS.

Getting started

This repository includes a simple example CMake project for testing the build system.

To build using pip from this repo:

pip install iosbuild
pip -m ios_build -v example

This builds the example project using sensible defaults for iOS (ARM64), iOS Simulator (ARM64), and macOS (ARM64). This configuration builds the files in a subdirectory build of the current directory, downloads the ios.toolchain.cmake file to the current directory and installs the libraries and the xcframework to install. If successful, this outputs a file libiosbuildexample.xcframeworks in the install/ directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iosbuild-0.2.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iosbuild-0.2.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file iosbuild-0.2.0.tar.gz.

File metadata

  • Download URL: iosbuild-0.2.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.30

File hashes

Hashes for iosbuild-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4bd8c48bfc1c8204f680de459d1d11861438237674cf90e74fd2ee808134abb1
MD5 21f12b594a01acc1f885cdbc3afa0287
BLAKE2b-256 91cea51a0f62171897b1b7b75135393663991cc19ebcd19dacfec020c5abaa91

See more details on using hashes here.

File details

Details for the file iosbuild-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: iosbuild-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.30

File hashes

Hashes for iosbuild-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 521c237749e0071702fdc4a0232d2039562deddee4846af474f57469765fe8b4
MD5 d856f9402ca861e79ce82167a93764cb
BLAKE2b-256 ad317629b795429a51f55c92f1bf3793f382dc243b21d3e6a56e07d9f5c2b2cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page