[cmake-developers] iOS support

Eric Wing ewmailing at gmail.com
Thu Oct 2 21:10:59 EDT 2014


> Ideally a toolchain file should have only settings specific to
> the local machine where it will be used, such as the paths to
> staging prefixes where dependencies built for the target arch
> may be installed.  All information that is general to the iOS
> platform should be in a module that comes with CMake, and only
> the local system info should be the toolchain file (which does
> not come with CMake).

Agreed.

> The code for
> finding the iOS SDK path should also be in a platform module.

I think we should nuance and improve this if possible.

One thing I really would like fixed is the CMake asserting itself by
specifying an explicit path to the iOS SDK. A few years ago, Apple
added a generic option for "Latest SDK". This was to address the
problem that we always have a new Xcode beta version in flight and new
SDKs every year (both iOS and Mac).

Additionally, because Apple re-routes the SDK path dynamically based
on whether you selected Device or Simulator. Whatever mechanism CMake
is using to assert itself seems to be somewhat incompatible with this
feature because CMake forces it to just one or the other. I relaxed a
few settings in my toolchain and it seems to work better, though I
still have problems from time to time.


I originally was going to say the path to Xcode is the most important
thing, but I'm wondering if that is really important at all. Apple
also knows how to automatically root the SDKs relative to the Xcode
project that you opened in. This is really valuable to us developers
too because it is common that we need to switch back and forth between
the current stable and current beta of Xcode (and sometimes multiple
betas.) So it would be nice if CMake didn't have to write any
information to paths to Xcode and just leverage Apple's generic
placeholder values.


I'm using a minor fork of one of the open source iOS toolchains. To
advance the cause, I would be happy to share it and also give access
to my upcoming (commercial) SDK for context (which includes the entire
CMake build system I use with all the things I'm trying to
accomplish).

Thanks,
Eric
-- 
Beginning iPhone Games Development
http://playcontrol.net/iphonegamebook/



More information about the cmake-developers mailing list