[CMake] Saving user settings with xcode generator

Johan Björk phb at spotify.com
Sun Dec 26 17:45:25 EST 2010


Hello all,

(See below for context)

To solve the issue, I wish to reuse the object ID for certain properties[1],
allowing the foo.pbxuser file to stay valid across CMake invocations.
I modified the cmXCodeObject::GetId() function to generate the ID of the
object, using either the name property or the comment property, depending on
which one is available. For all other object types (not listed in [1]), I
generate an unique object ID in the same way as before.

The patch is not really finished, just a quick proof of concept (but very
trivial :) ). Anyone at @Kitware think this sounds interesting enough to get
into a release? Let me know and I'll polish up the patch and file a bug if
deemed necessary.

Merry xmas (And again, thanks for a great product!)
/Johan
[1]
PBXProject, PBXNativeTarget, PBXApplicationReference,
PBXExecutableFileReference,PBXLibraryReference,PBXToolTarget,PBXLibraryTarget,
PBXAggregateTarget,

On Fri, Dec 17, 2010 at 9:17 AM, Johan Björk <phb at spotify.com> wrote:

> Hi everyone,
>
> I haven't been able to find much information on this topic, so any
> suggestions would be greatly appreciated. When CMake regenerates the XCode
> project files, it correctly saves the user settings (foo.pbxuser) (contains
> things like executable arguments, environment variables and the such),
> however, since the GUIDs in the main project file changes, the pbxuser file
> be cleaned by XCode as soon as you reopen the project.
>
> First off, anyone know of any way to be able to keep the user settings? If
> not, anyone knows if this has been brought up before and if someone has
> attempted to fix it?
>
> This is with XCode 3.2.5 and CMake 2.8.3
>
> Thanks for any insight
> /Johan
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101226/2bc84676/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cmake_2.8.3_xcodeIDs.patch
Type: application/octet-stream
Size: 4004 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101226/2bc84676/attachment.obj>


More information about the CMake mailing list