Simplify multiple config handling.

Use conventional pattern of not repeating the loop body for empty
config.
This commit is contained in:
Stephen Kelly 2014-03-27 09:46:58 +01:00
parent 358be9b320
commit 936e00b92c
3 changed files with 20 additions and 29 deletions

View File

@ -223,19 +223,16 @@ bool cmExportCommand
// Compute the set of configurations exported.
std::vector<std::string> configurationTypes;
this->Makefile->GetConfigurations(configurationTypes);
if(!configurationTypes.empty())
if(configurationTypes.empty())
{
configurationTypes.push_back("");
}
for(std::vector<std::string>::const_iterator
ci = configurationTypes.begin();
ci != configurationTypes.end(); ++ci)
{
ebfg->AddConfiguration(*ci);
}
}
else
{
ebfg->AddConfiguration("");
}
if (this->ExportSet)
{
gg->AddBuildExportExportSet(ebfg);

View File

@ -135,10 +135,8 @@ void cmGeneratorExpressionEvaluationFile::Generate()
if (allConfigs.empty())
{
this->Generate("", inputExpression.get(), outputFiles);
allConfigs.push_back("");
}
else
{
for(std::vector<std::string>::const_iterator li = allConfigs.begin();
li != allConfigs.end(); ++li)
{
@ -148,5 +146,4 @@ void cmGeneratorExpressionEvaluationFile::Generate()
return;
}
}
}
}

View File

@ -542,6 +542,10 @@ void cmLocalGenerator::GenerateTargetManifest()
// Collect the set of configuration types.
std::vector<std::string> configNames;
this->Makefile->GetConfigurations(configNames);
if(configNames.empty())
{
configNames.push_back("");
}
// Add our targets to the manifest for each configuration.
cmGeneratorTargetsType targets = this->Makefile->GetGeneratorTargets();
@ -557,12 +561,6 @@ void cmLocalGenerator::GenerateTargetManifest()
{
continue;
}
if(configNames.empty())
{
target.GenerateTargetManifest("");
}
else
{
for(std::vector<std::string>::iterator ci = configNames.begin();
ci != configNames.end(); ++ci)
{
@ -570,7 +568,6 @@ void cmLocalGenerator::GenerateTargetManifest()
target.GenerateTargetManifest(config);
}
}
}
}
void cmLocalGenerator::AddCustomCommandToCreateObject(const char* ofname,