Xcode: Fix single-configuration generation for version 1.5

In commit 84fdc992 (stringapi: Pass configuration names as strings,
2014-02-09) a few code paths for the Xcode 1.5 single-configuration
generator were not updated to use an empty configuration name instead of
a NULL pointer when no configuration is specified in CMAKE_BUILD_TYPE.
Fix them now.
This commit is contained in:
Brad King 2014-06-05 09:11:00 -04:00
parent 8ab2d7d462
commit 23dc6aa194
1 changed files with 5 additions and 13 deletions

View File

@ -2442,8 +2442,8 @@ cmGlobalXCodeGenerator::CreateUtilityTarget(cmTarget& cmtarget)
} }
else else
{ {
const char* theConfig = std::string theConfig =
this->CurrentMakefile->GetDefinition("CMAKE_BUILD_TYPE"); this->CurrentMakefile->GetSafeDefinition("CMAKE_BUILD_TYPE");
cmXCodeObject* buildSettings = cmXCodeObject* buildSettings =
this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP); this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
this->CreateBuildSettings(cmtarget, buildSettings, theConfig); this->CreateBuildSettings(cmtarget, buildSettings, theConfig);
@ -2821,11 +2821,7 @@ void cmGlobalXCodeGenerator
i != this->CurrentConfigurationTypes.end(); ++i) i != this->CurrentConfigurationTypes.end(); ++i)
{ {
// Get the current configuration name. // Get the current configuration name.
const char* configName = i->c_str(); std::string configName = *i;
if(!*configName)
{
configName = 0;
}
if(this->XcodeVersion >= 50) if(this->XcodeVersion >= 50)
{ {
@ -3512,11 +3508,7 @@ cmGlobalXCodeGenerator::CreateXCodeDependHackTarget(
ct = this->CurrentConfigurationTypes.begin(); ct = this->CurrentConfigurationTypes.begin();
ct != this->CurrentConfigurationTypes.end(); ++ct) ct != this->CurrentConfigurationTypes.end(); ++ct)
{ {
const char* configName = 0; std::string configName = *ct;
if(!ct->empty())
{
configName = ct->c_str();
}
for(std::vector<cmXCodeObject*>::iterator i = targets.begin(); for(std::vector<cmXCodeObject*>::iterator i = targets.begin();
i != targets.end(); ++i) i != targets.end(); ++i)
{ {
@ -3969,7 +3961,7 @@ bool cmGlobalXCodeGenerator::IsMultiConfig()
void cmGlobalXCodeGenerator void cmGlobalXCodeGenerator
::ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const ::ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const
{ {
const char* configName = this->GetCMakeCFGIntDir(); std::string configName = this->GetCMakeCFGIntDir();
std::string dir = this->GetObjectsNormalDirectory( std::string dir = this->GetObjectsNormalDirectory(
"$(PROJECT_NAME)", configName, gt->Target); "$(PROJECT_NAME)", configName, gt->Target);
if(this->XcodeVersion >= 21) if(this->XcodeVersion >= 21)