Giter VIP home page Giter VIP logo

ios-cmake's Introduction

A CMake toolchain file for iOS, watchOS and tvOS development with full simulator support and toggable options!

ios-cmake

Build Status

Tested with the following combinations:

  • XCode 5.x, iOS SDK 7
  • XCode 6.1.x, iOS SDK 8.1
  • XCode 8.2.x, iOS SDK 10.2
  • XCode 9.4.x, iOS SDK 11.4
  • XCode 10.0.x, iOS SDK 12.0

Example usage

NOTE: The below commands will build for 64-bit simulator only. Change the -DIOS_PLATFORM to the applicable value if targeting another platform.

cd example/example-lib
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DIOS_PLATFORM=SIMULATOR64
make
make install

This will build and install the library for the given IOS_PLATFORM.

Options

  • Set -DIOS_PLATFORM to "SIMULATOR" to build for iOS simulator 32 bit (i386)
  • Set -DIOS_PLATFORM to "SIMULATOR64" (example above) to build for iOS simulator 64 bit (x86_64)
  • Set -DIOS_PLATFORM to "OS" to build for Device (armv7, armv7s, arm64, arm64e)
  • Set -DIOS_PLATFORM to "OS64" to build for Device (arm64, arm64e)
  • Set -DIOS_PLATFORM to "TVOS" to build for tvOS (arm64)
  • Set -DIOS_PLATFORM to "SIMULATOR_TVOS" to build for tvOS Simulator (x86_64)
  • Set -DIOS_PLATFORM to "WATCHOS" to build for watchOS (armv7k)
  • Set -DIOS_PLATFORM to "SIMULATOR_WATCHOS" to build for watchOS Simulator (i386)

Additional Options

-DENABLE_BITCODE=(BOOL) - Enabled by default, specify FALSE or 0 to disable bitcode

-DENABLE_ARC=(BOOL) - Enabled by default, specify FALSE or 0 to disable ARC

-DENABLE_VISIBILITY=(BOOL) - Disabled by default, specify TRUE or 1 to enable symbol visibility support

-DIOS_ARCH=(STRING) - Valid values are: armv7, armv7s, arm64, arm64e, i386, x86_64, armv7k, arm64_32. By default it will build for all valid architectures based on -DIOS_PLATFORM (see above)

The resulting binary will consist of only one platform. To combine all platforms into the same fat-library, use the LIPO tool. More information on this is available on the net.

Thanks To

Notes

Parts of the original toolchain comes from a similar project found on code.google.com

ios-cmake's People

Contributors

leetal avatar ssrobins avatar msnexploder avatar natbro avatar garryyan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.