summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2014-02-03 21:09:16 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2014-07-16 21:28:32 (GMT)
commit85242b7df63a8097c5672c3053873aec371b6af7 (patch)
treeef8a5e4da3276367fdb2cf0ceffa037598e93f35
parenta0dc1354fe5effa1ff484b441595f8bdb6da3533 (diff)
downloadCMake-85242b7df63a8097c5672c3053873aec371b6af7.zip
CMake-85242b7df63a8097c5672c3053873aec371b6af7.tar.gz
CMake-85242b7df63a8097c5672c3053873aec371b6af7.tar.bz2
cmTarget: Use else/if trees rather than an if tree
Skips lots of unnecessary string comparisons.
-rw-r--r--Source/cmTarget.cxx88
1 files changed, 38 insertions, 50 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index b4688c4..641ac41 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1750,15 +1750,14 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
return;
}
-
- if (prop == "NAME")
+ else if (prop == "NAME")
{
cmOStringStream e;
e << "NAME property is read-only\n";
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
return;
}
- if(prop == "INCLUDE_DIRECTORIES")
+ else if(prop == "INCLUDE_DIRECTORIES")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
@@ -1766,9 +1765,8 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->IncludeDirectoriesEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- if(prop == "COMPILE_OPTIONS")
+ else if(prop == "COMPILE_OPTIONS")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
@@ -1776,9 +1774,8 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->CompileOptionsEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- if(prop == "COMPILE_FEATURES")
+ else if(prop == "COMPILE_FEATURES")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
@@ -1786,9 +1783,8 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->CompileFeaturesEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- if(prop == "COMPILE_DEFINITIONS")
+ else if(prop == "COMPILE_DEFINITIONS")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
@@ -1796,25 +1792,22 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->CompileDefinitionsEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- if(prop == "EXPORT_NAME" && this->IsImported())
+ else if(prop == "EXPORT_NAME" && this->IsImported())
{
cmOStringStream e;
e << "EXPORT_NAME property can't be set on imported targets (\""
<< this->Name << "\")\n";
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
- return;
}
- if (prop == "LINK_LIBRARIES")
+ else if (prop == "LINK_LIBRARIES")
{
this->Internal->LinkImplementationPropertyEntries.clear();
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmValueWithOrigin entry(value, lfbt);
this->Internal->LinkImplementationPropertyEntries.push_back(entry);
- return;
}
- if (prop == "SOURCES")
+ else if (prop == "SOURCES")
{
if(this->IsImported())
{
@@ -1831,10 +1824,12 @@ void cmTarget::SetProperty(const std::string& prop, const char* value)
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->SourceEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- this->Properties.SetProperty(prop, value, cmProperty::TARGET);
- this->MaybeInvalidatePropertyCache(prop);
+ else
+ {
+ this->Properties.SetProperty(prop, value, cmProperty::TARGET);
+ this->MaybeInvalidatePropertyCache(prop);
+ }
}
//----------------------------------------------------------------------------
@@ -1850,61 +1845,55 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value,
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
return;
}
- if (prop == "NAME")
+ else if (prop == "NAME")
{
cmOStringStream e;
e << "NAME property is read-only\n";
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
return;
}
- if(prop == "INCLUDE_DIRECTORIES")
+ else if(prop == "INCLUDE_DIRECTORIES")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
this->Internal->IncludeDirectoriesEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(ge.Parse(value)));
- return;
}
- if(prop == "COMPILE_OPTIONS")
+ else if(prop == "COMPILE_OPTIONS")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
this->Internal->CompileOptionsEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(ge.Parse(value)));
- return;
}
- if(prop == "COMPILE_FEATURES")
+ else if(prop == "COMPILE_FEATURES")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
this->Internal->CompileFeaturesEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(ge.Parse(value)));
- return;
}
- if(prop == "COMPILE_DEFINITIONS")
+ else if(prop == "COMPILE_DEFINITIONS")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmGeneratorExpression ge(&lfbt);
this->Internal->CompileDefinitionsEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(ge.Parse(value)));
- return;
}
- if(prop == "EXPORT_NAME" && this->IsImported())
+ else if(prop == "EXPORT_NAME" && this->IsImported())
{
cmOStringStream e;
e << "EXPORT_NAME property can't be set on imported targets (\""
<< this->Name << "\")\n";
this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
- return;
}
- if (prop == "LINK_LIBRARIES")
+ else if (prop == "LINK_LIBRARIES")
{
cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
cmValueWithOrigin entry(value, lfbt);
this->Internal->LinkImplementationPropertyEntries.push_back(entry);
- return;
}
- if (prop == "SOURCES")
+ else if (prop == "SOURCES")
{
if(this->IsImported())
{
@@ -1920,10 +1909,12 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value,
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value);
this->Internal->SourceEntries.push_back(
new cmTargetInternals::TargetPropertyEntry(cge));
- return;
}
- this->Properties.AppendProperty(prop, value, cmProperty::TARGET, asString);
- this->MaybeInvalidatePropertyCache(prop);
+ else
+ {
+ this->Properties.AppendProperty(prop, value, cmProperty::TARGET, asString);
+ this->MaybeInvalidatePropertyCache(prop);
+ }
}
//----------------------------------------------------------------------------
@@ -3022,11 +3013,6 @@ const char *cmTarget::GetProperty(const std::string& prop,
return 0;
}
- if (prop == "NAME")
- {
- return this->GetName().c_str();
- }
-
// Watch for special "computed" properties that are dependent on
// other properties or variables. Always recompute them.
if(this->GetType() == cmTarget::EXECUTABLE ||
@@ -3106,7 +3092,7 @@ const char *cmTarget::GetProperty(const std::string& prop,
}
return output.c_str();
}
- if(prop == "COMPILE_OPTIONS")
+ else if(prop == "COMPILE_OPTIONS")
{
if (this->Internal->CompileOptionsEntries.empty())
{
@@ -3129,7 +3115,7 @@ const char *cmTarget::GetProperty(const std::string& prop,
}
return output.c_str();
}
- if(prop == "COMPILE_FEATURES")
+ else if(prop == "COMPILE_FEATURES")
{
if (this->Internal->CompileFeaturesEntries.empty())
{
@@ -3152,7 +3138,7 @@ const char *cmTarget::GetProperty(const std::string& prop,
}
return output.c_str();
}
- if(prop == "COMPILE_DEFINITIONS")
+ else if(prop == "COMPILE_DEFINITIONS")
{
if (this->Internal->CompileDefinitionsEntries.empty())
{
@@ -3175,7 +3161,7 @@ const char *cmTarget::GetProperty(const std::string& prop,
}
return output.c_str();
}
- if(prop == "LINK_LIBRARIES")
+ else if(prop == "LINK_LIBRARIES")
{
if (this->Internal->LinkImplementationPropertyEntries.empty())
{
@@ -3196,13 +3182,15 @@ const char *cmTarget::GetProperty(const std::string& prop,
}
return output.c_str();
}
-
- if (prop == "IMPORTED")
+ else if (prop == "IMPORTED")
{
return this->IsImported()?"TRUE":"FALSE";
}
-
- if(prop == "SOURCES")
+ else if (prop == "NAME")
+ {
+ return this->GetName().c_str();
+ }
+ else if(prop == "SOURCES")
{
if (this->Internal->SourceEntries.empty())
{
@@ -3299,12 +3287,12 @@ const char *cmTarget::GetProperty(const std::string& prop,
this->Properties.SetProperty("SOURCES", ss.str().c_str(),
cmProperty::TARGET);
}
-
// the type property returns what type the target is
- if (prop == "TYPE")
+ else if (prop == "TYPE")
{
return cmTarget::GetTargetTypeName(this->GetType());
}
+
bool chain = false;
const char *retVal =
this->Properties.GetPropertyValue(prop, cmProperty::TARGET, chain);