On Mon, Jun 27, 2011 at 4:35 AM, Johan Knutzen <knutzen_jo...@yahoo.se>wrote:

> 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?
>


It's in the source code for CMake itself, likely in one or more of these
files:

$ find . | grep -i xcode | grep -v /.git/
./Modules/CMakeFindXCode.cmake
./Source/cmGlobalXCodeGenerator.cxx
./Source/cmGlobalXCodeGenerator.h
./Source/cmLocalXCodeGenerator.cxx
./Source/cmLocalXCodeGenerator.h
./Source/cmXCode21Object.cxx
./Source/cmXCode21Object.h
./Source/cmXCodeObject.cxx
./Source/cmXCodeObject.h




>
> Johan
>
> --- Den *sön 2011-06-26 skrev David Cole <david.c...@kitware.com>*:
>
>
> Från: David Cole <david.c...@kitware.com>
> Ämne: Re: [CMake] XCode4 and archiving
> Till: jo...@knutzen.se
> Kopia: era...@senri.se, cmake@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_jo...@yahoo.se<http://mc/compose?to=knutzen_jo...@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_jo...@yahoo.se<http://mc/compose?to=knutzen_jo...@yahoo.se>
> >:
>
> > Från: Johan Knutzen 
> > <knutzen_jo...@yahoo.se<http://mc/compose?to=knutzen_jo...@yahoo.se>
> >
> > Ämne: [CMake] XCode4 and archiving
> > Till: cmake@cmake.org <http://mc/compose?to=cmake@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
>
>
_______________________________________________
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

Reply via email to