[CMake] XCode4 and archiving

Johan Knutzen knutzen_johan at yahoo.se
Mon Jun 27 04:35:27 EDT 2011


Hey!

Thank you for your reply. I tried unsetting CMAKE_XCODE_ATTRIBUTE_INSTALL_PATH
but since it is not defined until the generator actually runs it does nothing. An interesting not is that if I do:
set(CMAKE_XCODE_ATTRIBUTE_INSTALL_PATH "test")
all INSTALL_PATH entries in xcode become test, so there should a a connection. The problem lies in that INSTALL_PATH gets set by default to "", but a project file generated by XCode does not set it at all.

Another bug in the generating step is that this line in cmake:
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
generates
TARGETED_DEVICE_FAMILY = 1,2;
instead of what's correct:
TARGETED_DEVICE_FAMILY = "1,2";

However, this line:
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1")
generates:
TARGETED_DEVICE_FAMILY = "1";
which is correct. Notice the encompassing "".

So in order to get the encompassing "" one might try:
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1, 2")
which generates:
TARGETED_DEVICE_FAMILY = "1, 2";

However "1, 2" with a space after , can not be parsed by Xcode 4. 

A hack which works is:
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2 ")
which generates:
TARGETED_DEVICE_FAMILY = "1,2 ";

which for some reason can be parsed and is parsed correctly by XCode 4. Note the space after 2. 

Regarding INSTALL_PATH, if someone has any ideas about how this can be fixed using CMake instead of in a script run after the generating step please reply. 

And another question: Where do I find the code which actually creates the entries in targets of an xcode 4 project? Is it all in the binary or are there any other run-time files which I can modify and perhaps submit as a patch? 

Johan

--- Den sön 2011-06-26 skrev David Cole <david.cole at kitware.com>:

Från: David Cole <david.cole at kitware.com>
Ämne: Re: [CMake] XCode4 and archiving
Till: johan at knutzen.se
Kopia: eracce at senri.se, cmake at cmake.org
Datum: söndag 26 juni 2011 22:37

We will be getting to various Xcode 4 issues over the coming months.
In the meantime, I would look into whether there's a way to suppress the generation of the INSTALL_PATH lines rather than having to run a post-processing script. If I remember this later on.... I'll check into it myself and report back.


HTH,David

On Sun, Jun 26, 2011 at 12:11 PM, Johan Knutzen <knutzen_johan at yahoo.se> wrote:

I found a workaround, if anybody is interested. The problem lies in the cmake generator setting the INSTALL_PATH to "" in the project file. Not sure why cmake does this, but a fix is to remove all entries.




Here is a bash script which takes a pbxproj file as argument and fixes it:

#! /bin/bash

sed -i".bak" '/INSTALL_PATH/d' $1



Would be helpful if somebody working on cmake would comment, and perhaps fix this issue.



Johan





--- Den sön 2011-06-26 skrev Johan Knutzen <knutzen_johan at yahoo.se>:



> Från: Johan Knutzen <knutzen_johan at yahoo.se>

> Ämne: [CMake] XCode4 and archiving

> Till: cmake at cmake.org

> Datum: söndag 26 juni 2011 16:00

> Hey!

>

> I've experienced a few hickups when using cmake with XCode

> 4, and one of them is the ability to create archives. In the

> IDE you do this by clicking Product->Archive, which

> results in an archive which you later can sign with

> different provisioning profiles when distributing iOS apps

> to beta testers.

>

> However, for projects generated using cmake the archiving

> command does not work. The result of that command should be

> an archiving listed in the organizer, but that is not the

> case when you have a cmake generated project.

>

> Does anyone have a solution or work around for this?

>

> Johan

> _______________________________________________

> Powered by www.kitware.com

>

> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

>

> Please keep messages on-topic and check the CMake FAQ at:

> http://www.cmake.org/Wiki/CMake_FAQ

>

> Follow this link to subscribe/unsubscribe:

> http://www.cmake.org/mailman/listinfo/cmake

>

_______________________________________________

Powered by www.kitware.com



Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html



Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ



Follow this link to subscribe/unsubscribe:

http://www.cmake.org/mailman/listinfo/cmake




-----Infogad bilaga följer-----

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110627/069994f8/attachment.htm>


More information about the CMake mailing list