View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0011570 | CMake | CMake | public | 2010-12-04 03:21 | 2010-12-17 09:12 | ||||
Reporter | Matthew Firlik | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | Apple Mac | OS | OS X | OS Version | 10.4.10 | ||||
Product Version | CMake 2.8.3 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0011570: CMake generates older Xcode project versions; must always be upgraded | ||||||||
Description | When using CMake to generate an Xcode project, the resulting project uses the Xcode v3.1 compatibility format. The current project format is v3.2. While all of the Xcode IDE v3.2 releases will read the v3.1 format, and using that format provides wide-ranging compatibility for developers who may not have upgraded their tool chain, it also forces the IDE and command-line build tool (xcodebuild) to always upgrade the project format in memory ... every time the project is opened or built. The upgrade logic is optimized to be efficient, but not performing it at all is better: for large projects (like LLVM, which has 200 targets and thousands of files), avoiding the upgrade is beneficial. (And while developer's can upgrade the format from within the IDE, most will not know to.) Xcode v3.2 was provided with Snow Leopard, released in August of 2009: it is required for all current iOS development, and with the addition of features like static analysis it is the tool chain most Cocoa developers have moved to. (Obviously, Xcode v3.2.x is the currently recommended tool chain.) The forthcoming Xcode 4.0 release will use the same project format as Xcode v3.2 (for complete build compatibility during migration.) Moving the project compatibility format used in the CMake conversion to v3.2 it will further reduce the upgrade need for projects. | ||||||||
Steps To Reproduce | - Run the cmake conversion on a larger project (like LLVM) to output an Xcode project - In a text editor, open the embedded project.pbxproj file - Look for the following keys: objectVersion = 45; compatibilityVersion = "Xcode 3.1" - Launch Xcode v3.2.x - Open the resulting project - Open the project inspector, and change the project compatibility format to v3.2 - Close the project - In a text editor, open the embedded project.pbxproj file - Look for the following keys: objectVersion = 46; compatibilityVersion = "Xcode 3.2" | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0024231) Brad King (manager) 2010-12-17 09:12 |
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f7d525e3 [^] |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2010-12-04 03:21 | Matthew Firlik | New Issue | |
2010-12-07 12:57 | Bill Hoffman | Assigned To | => Bill Hoffman |
2010-12-07 12:57 | Bill Hoffman | Status | new => assigned |
2010-12-17 09:12 | Brad King | Note Added: 0024231 | |
2010-12-17 09:12 | Brad King | Status | assigned => closed |
2010-12-17 09:12 | Brad King | Assigned To | Bill Hoffman => Brad King |
2010-12-17 09:12 | Brad King | Resolution | open => fixed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |