[CMake] xcodeproj internal reference lottery

David Cole david.cole at kitware.com
Wed Mar 3 07:44:24 EST 2010


The CMake generator for Xcode simply uses object pointers as the seed for
those hex ids: that's why they change every time you run cmake. It's also
what makes it easy to guarantee that those ids are unique without having a
data structure to track it.

Re-using the same ids would be possible, but it would add complexity to the
xcode generator, and the ids would have to be cached and tracked somehow.
It's a fairly tall order... If you have the time to propose how to do it,
perhaps submitting a feature request and a patch to the bug tracker, I would
be happy to review it.


Cheers,
David


On Wed, Mar 3, 2010 at 5:33 AM, <hauns at mac.com> wrote:

> i am using cmake 2.8.0 on mac os x 10.6.2 with xcode 3.2.1 for generating
> .xcodeproj files for a large cross platform project.
>
> internally, .xcodeproj package files neatly distinguish project from user
> data information (such as debug settings) in separate files: project.pbxproj
> and user.pbxuser. in there, file references are tracked by hex ids:
>
>  104043E30104043E30104043 /* main.cpp */
>
> now it happens, that each time i sync to head of the repository (with
> typically only a handful files changed) and recreate the project, cmake
> selects a complete new set of hex ids for its project.pbxproj file. as a
> result, user.pbxuser (while it does not get overwritten by cmake) is
> rendered no longer useful and is subsequently reset by xcode to default.
>
> is there a way to preserve those hex ids (or my debug setting for that
> matter)? maybe cmake could be configured with a "seed hex ref" from which
> all others are derived in a consistent manner.
> [on win_vx90 this works - maybe refs are stored by path rather than id]
>
> thank you.
> _______________________________________________
> 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/20100303/c96912d4/attachment.htm>


More information about the CMake mailing list