<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY>
<PRE style="color: #000000; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px; margin: 0px; padding: 0px; background:#ffffff; white-space : pre-wrap; ">david,
thanks for your prompt response. you presented an implementation issue as a reason for this behavior - i can understand.
however, do you appreciate the issue of user data getting over written each time? in my opinion this represents a serious limitation of cmake on the mac when trying to use it for a large, collaborative project where continuous and frequent updates are required.
you ask me for an alternative: the mac file system is pretty good at keeping track of files independent of file names/paths. couldn't unique file handles/hash ids be obtained from just there? these can be used instead and presumably provide some stability compared to dynamic pointers in memory (the latter change all the time).
regards
On Wednesday, March 03, 2010, at 12:44PM, "David Cole" <david.cole@kitware.com> wrote:
></PRE>
<DIV align="left" style="margin-left:10px;">
<DIV>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.<DIV>
<BR>
</DIV>
<DIV>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.<BR>
<BR>
</DIV>
<DIV>
<BR>
</DIV>
<DIV>Cheers,</DIV>
<DIV>David</DIV>
<DIV>
<BR>
</DIV>
<DIV>
<BR>
</DIV>
<DIV>
<DIV class="gmail_quote">On Wed, Mar 3, 2010 at 5:33 AM, <SPAN dir="ltr"><<A href="mailto:hauns@mac.com">hauns@mac.com</A>></SPAN> wrote:<BR>
<BLOCKQUOTE class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">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.<BR>
<BR>
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:<BR>
<BR>
104043E30104043E30104043 /* main.cpp */<BR>
<BR>
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.<BR>
<BR>
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.<BR>
[on win_vx90 this works - maybe refs are stored by path rather than id]<BR>
<BR>
thank you.<BR>
_______________________________________________<BR>
Powered by <A href="http://www.kitware.com" target="_blank">www.kitware.com</A>
<BR>
<BR>
Visit other Kitware open-source projects at <A href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</A>
<BR>
<BR>
Please keep messages on-topic and check the CMake FAQ at: <A href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</A>
<BR>
<BR>
Follow this link to subscribe/unsubscribe:<BR>
<A href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</A>
<BR>
</BLOCKQUOTE>
</DIV>
<BR>
</DIV>
</DIV>
</DIV>
</BODY>
</HTML>