[cmake-developers] [PATCH] iOS Framework Bundle support

Ruslan Baratov ruslan_baratov at yahoo.com
Tue Nov 17 02:42:30 EST 2015


On 13-Nov-15 20:59, Bartosz Kosiorek wrote:
> Hello.
>
> Main reason for using Makefile instead of Xcode is performance reason. Xcode generator is much slower that Makefile in our project.
> The performance was improved in Cmake 3.2 but still it is much slower on Xcode. Similar slowness could be observed on Windows with Visual Studio generator (for our project).
> Do you know what caused performance improve in Cmake 3.2 ?
I'm not sure, but I think this is because there are a lot of tests on 
generation step and each test creates .xcodeproj (.vcproj for Visual 
Studio) and build it. Which is much slower than creating and running 
Makefile.

> We are using Makefile builds for automatic tests on farm of devices/simulators.
> We strongly believe that Xcode generation should only be used for IDE context and not for Continuous Integration/cmd usage.
In my opinion type of CI build should match working environment exactly. 
Otherwise you can break something in Xcode and no error will be reported 
by CI since Makefile used on auto-build machine.
Makefile and Xcode project generated by CMake may not match in general, 
for example if there is no special unification code then warning flags 
will be different. Also all XCODE_ATTRIBUTES_* simply ignored for 
Makefile and no equivalent flags added. From my experience `xcodebuild` 
and `cmake --build` work quite fine with Xcode projects so see no 
problems with using cmd.

Ruslan

> In cmd/CI case you want to use generators like make, ninja, fastbuild, etc.
>
> What is your opinion about that?
>
> Best Regards
> Bartosz
>
>
> -----Original Message-----
> From: Gregor Jasny [mailto:gjasny at gmail.com]
> Sent: Friday, November 13, 2015 2:09 PM
> To: Bartosz Kosiorek; cmake-developers at cmake.org
> Subject: Re: [cmake-developers] [PATCH] iOS Framework Bundle support
>
> On 11/11/15 02:19, Bartosz Kosiorek wrote:
>> Hi
>>
>> Generally I created this cmake scripts to to able to test creating iOS/OSX Application Bundle and iOS/OSX Dynamic Framework Bundle.
>> By default it produces iOS application Bundle and iOS Framework Bundle.
>>
>> Steps to reproduce:
>> 1. Download and install CMake 3.4.0
>> 2. Unpack and unpack cmake_shared_ios_framework.zip 3. cd
>> cmake_shared_ios_framework 4. mkdir build 5. cd build 6.
>> ../../../cmake-3.4.0-rc3-Darwin-x86_64/CMake.app/Contents/bin/cmake ..
>> 7. make
> I wonder why anyone wants to build for iOS without the Xcode generator?



More information about the cmake-developers mailing list