[CMake] CMake cvs TOT and Xcode
Bill Hoffman
bill.hoffman at kitware.com
Fri Oct 2 11:32:52 EDT 2009
Sean McBride wrote:
> On 10/2/09 10:40 AM, Bill Hoffman said:
>
>> We did change CMake. Before we used to hard code the build archs into
>> the file (i386, ppc, etc.). We now use a variable that Xcode uses,
>> something like $(DEFAULT_ARCH) different name, but you get the idea. If
>> that is not defined for some reason for this version of Xcode we can fix
>> it. CMake knows what version it is building for. We did have this same
>> problem with Xcode 1.5 and did a fix. So, since this is most likely a
>> regression, I would like to fix it. However, I don't have access to
>> Xcode 3.0 so it is hard to fix... :)
>
> Xcode 3.0 is free to download, though you do need a (free) ADC account:
> https://connect.apple.com
>
> You can also have multiple versions of Xcode installed simultaneously,
> so you could have 3.0 and 3.1.4 installed. (I'm not sure how well CMake
> itself would deal with this though.)
>
> And the Xcode release notes have a detailed account of what changed when:
> <http://developer.apple.com/mac/library/releasenotes/DeveloperTools/RN-
> Xcode/index.html>
>
> I bet if you searched it for 'something like $(DEFAULT_ARCH)' you'd find
> when that was added (probably 3.1).
>
Well, let me rephrase that.... I don't want to install Xcode 3.0 if I
don't have to... :)
Hmmm, looking at the code:
cmGlobalXcodeGenerator.cxx line 2645:
if(this->XcodeVersion >= 32)
{
osxArch = "$(ARCHS_STANDARD_32_64_BIT)";
}
else if(this->XcodeVersion <= 25)
{
#ifdef __i386
osxArch = "i386";
#endif
#ifdef __ppc__
osxArch = "ppc";
#endif
}
else
{
osxArch = "$(ARCHS_STANDARD_32_BIT)";
}
I bet 30 had the ARCHS_STANDARD_32_64_BIT. So, James, can you try
changing CMake to have if(this->XcodeVersion >= 30) and see if it fixes
the problem?
-Bill
More information about the CMake
mailing list