[cmake-developers] iOS support

Florent Castelli florent.castelli at gmail.com
Tue Sep 23 11:42:01 EDT 2014


On 23 Sep 2014, at 16:56, Bill Hoffman <bill.hoffman at kitware.com> wrote:

> 
>> That said it would be really cool to beef up the xcode support enough to
>> be able to create an actual ios app.  I have not dug into that enough.
>> Should be able to do most of it with CMAKE_XCODE_ATTRIBUTE.     I will
>> look into this try_compile COPY_FILE issue today and get back to the list.
>> 
>> It would be great if you could get an example/Test in place that builds
>> an app for a device and works with Xcode and for a stretch goal also
>> works with makefiles or ninja.
>> 
> Couple of more things.
> 
> Much of the stuff found in these toolchains:
> https://github.com/Kitware/VTK/blob/master/CMake/ios.toolchain.xcode.cmake
> https://github.com/Kitware/VTK/blob/master/CMake/ios.simulator.toolchain.cmake
> https://github.com/Kitware/VTK/blob/master/CMake/ios.device.toolchain.cmake
> Should be in Platform files.  If we created ios platform files we could remove most of the stuff from those toolchain files.  This would be a great thing to work on.
> 

The problem is that I want a project that is usable by developers directly and you can't really force them to target just the simulator. It should work for targeting both simulator and real device. So having a generic iOS toolchain that can generate both in one project is a requirement for me.
Generating projects for Makefiles or Ninja would probably require a dedicated toolchain though (or proper platform files indeed), but that can be done later.

> Also, Robert M reminded me that there is a test that could be extended as this stuff is developed:
> 
> https://github.com/Kitware/CMake/tree/master/Tests/iOSNavApp ) as it
> already builds targeting the iphone simulator.
> 
> -Bill
> 

Nice, I will have a look!

I also have a couple of patches for finding the binary during a try_compile that works with my other change to have an extra variable for the add_executable and I would need to change it.
It's mostly changing cmCoreTryCompile::FindOutputFile() and adds "/" + targetName + ".app/Contents/MacOS" to the searchDirs.

I'll try to pickup those toolchain files though and see how they work for me soon. I'll probably have some options to override a few things and make it find the compiler properly. Right now, it's hardcoding /usr/bin/clang and that's a no go :) (it should be found in the path or through DEVELOPER_DIR eventually). Not forcing the compiler would be sweet too (but that requires the try_compile fixup first) as it means we could use ccache or an alternative compiler (for reasons).

/Orphis

> 
> -- 
> 
> Powered by www.kitware.com
> 
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
> 
> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
> 
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake-developers




More information about the cmake-developers mailing list