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