[Cmake-commits] [cmake-commits] king committed cmGlobalXCodeGenerator.cxx 1.213 1.214 cmGlobalXCodeGenerator.h 1.58 1.59
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu Jul 2 14:14:06 EDT 2009
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv20313/Source
Modified Files:
cmGlobalXCodeGenerator.cxx cmGlobalXCodeGenerator.h
Log Message:
BUG: Do not generate "global" Xcode config
Xcode 2.0 and below supported only one configuration, but 2.1 and above
support multiple configurations. In projects for the latter version we
have been generating a "global" set of buildSettings for each target in
addition to the per-configuration settings. These global settings are
not used by Xcode 2.1 and above, so we should not generate them.
Index: cmGlobalXCodeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v
retrieving revision 1.213
retrieving revision 1.214
diff -C 2 -d -r1.213 -r1.214
*** cmGlobalXCodeGenerator.cxx 2 Jul 2009 18:13:46 -0000 1.213
--- cmGlobalXCodeGenerator.cxx 2 Jul 2009 18:14:01 -0000 1.214
***************
*** 1840,1846 ****
cmtarget);
target->AddAttribute("buildPhases", buildPhases);
- cmXCodeObject* buildSettings =
- this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
- const char* globalConfig = 0;
if(this->XcodeVersion > 20)
{
--- 1840,1843 ----
***************
*** 1849,1856 ****
else
{
! globalConfig = this->CurrentMakefile->GetDefinition("CMAKE_BUILD_TYPE");
}
- this->CreateBuildSettings(cmtarget, buildSettings, globalConfig);
- target->AddAttribute("buildSettings", buildSettings);
cmXCodeObject* dependencies =
this->CreateObject(cmXCodeObject::OBJECT_LIST);
--- 1846,1856 ----
else
{
! const char* theConfig =
! this->CurrentMakefile->GetDefinition("CMAKE_BUILD_TYPE");
! cmXCodeObject* buildSettings =
! this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
! this->CreateBuildSettings(cmtarget, buildSettings, theConfig);
! target->AddAttribute("buildSettings", buildSettings);
}
cmXCodeObject* dependencies =
this->CreateObject(cmXCodeObject::OBJECT_LIST);
***************
*** 1878,1883 ****
//----------------------------------------------------------------------------
! void cmGlobalXCodeGenerator::AddConfigurations(cmXCodeObject* target,
! cmTarget& cmtarget)
{
std::string configTypes =
--- 1878,1883 ----
//----------------------------------------------------------------------------
! std::string cmGlobalXCodeGenerator::AddConfigurations(cmXCodeObject* target,
! cmTarget& cmtarget)
{
std::string configTypes =
***************
*** 1919,1923 ****
--- 1919,1925 ----
configlist->AddAttribute("defaultConfigurationIsVisible",
this->CreateString("0"));
+ return configVector[0];
}
+ return "";
}
***************
*** 1975,1991 ****
cmXCodeObject* buildRules = this->CreateObject(cmXCodeObject::OBJECT_LIST);
target->AddAttribute("buildRules", buildRules);
! cmXCodeObject* buildSettings =
! this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
! const char* globalConfig = 0;
if(this->XcodeVersion > 20)
{
! this->AddConfigurations(target, cmtarget);
}
else
{
! globalConfig = this->CurrentMakefile->GetDefinition("CMAKE_BUILD_TYPE");
}
- this->CreateBuildSettings(cmtarget, buildSettings, globalConfig);
- target->AddAttribute("buildSettings", buildSettings);
cmXCodeObject* dependencies =
this->CreateObject(cmXCodeObject::OBJECT_LIST);
--- 1977,1993 ----
cmXCodeObject* buildRules = this->CreateObject(cmXCodeObject::OBJECT_LIST);
target->AddAttribute("buildRules", buildRules);
! std::string defConfig;
if(this->XcodeVersion > 20)
{
! defConfig = this->AddConfigurations(target, cmtarget);
}
else
{
! cmXCodeObject* buildSettings =
! this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
! defConfig = this->CurrentMakefile->GetSafeDefinition("CMAKE_BUILD_TYPE");
! this->CreateBuildSettings(cmtarget, buildSettings, defConfig.c_str());
! target->AddAttribute("buildSettings", buildSettings);
}
cmXCodeObject* dependencies =
this->CreateObject(cmXCodeObject::OBJECT_LIST);
***************
*** 2000,2004 ****
fileRef->AddAttribute("explicitFileType", this->CreateString(fileType));
}
! std::string fullName = cmtarget.GetFullName(globalConfig);
fileRef->AddAttribute("path", this->CreateString(fullName.c_str()));
fileRef->AddAttribute("refType", this->CreateString("0"));
--- 2002,2006 ----
fileRef->AddAttribute("explicitFileType", this->CreateString(fileType));
}
! std::string fullName = cmtarget.GetFullName(defConfig.c_str());
fileRef->AddAttribute("path", this->CreateString(fullName.c_str()));
fileRef->AddAttribute("refType", this->CreateString("0"));
Index: cmGlobalXCodeGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.h,v
retrieving revision 1.58
retrieving revision 1.59
diff -C 2 -d -r1.58 -r1.59
*** cmGlobalXCodeGenerator.h 2 Jul 2009 18:13:46 -0000 1.58
--- cmGlobalXCodeGenerator.h 2 Jul 2009 18:14:03 -0000 1.59
***************
*** 131,136 ****
const char* GetTargetFileType(cmTarget& cmtarget);
const char* GetTargetProductType(cmTarget& cmtarget);
! void AddConfigurations(cmXCodeObject* target,
! cmTarget& cmtarget);
void AppendOrAddBuildSetting(cmXCodeObject* settings, const char* attr,
const char* value);
--- 131,135 ----
const char* GetTargetFileType(cmTarget& cmtarget);
const char* GetTargetProductType(cmTarget& cmtarget);
! std::string AddConfigurations(cmXCodeObject* target, cmTarget& cmtarget);
void AppendOrAddBuildSetting(cmXCodeObject* settings, const char* attr,
const char* value);
More information about the Cmake-commits
mailing list