summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-04-11 10:04:05 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-04-12 18:08:47 (GMT)
commitade20b433b2ce1cf176bc727a8ed9c47a5f6537e (patch)
treec75d760bf3c51da143c9dcd10a7e3be9691fdc04 /Source/cmake.cxx
parent6fb306ea3bbe04b8e4dde8f13eec3e6bdfe35086 (diff)
downloadCMake-ade20b433b2ce1cf176bc727a8ed9c47a5f6537e.zip
CMake-ade20b433b2ce1cf176bc727a8ed9c47a5f6537e.tar.gz
CMake-ade20b433b2ce1cf176bc727a8ed9c47a5f6537e.tar.bz2
cmake: Remove DebugConfigs member.
It adds needless complexity to global property handling.
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx45
1 files changed, 15 insertions, 30 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index d2331cb..bef8904 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2283,24 +2283,12 @@ bool cmake::IsPropertyChained(const std::string& name,
void cmake::SetProperty(const std::string& prop, const char* value)
{
- // Special hook to invalidate cached value.
- if(prop == "DEBUG_CONFIGURATIONS")
- {
- this->DebugConfigs.clear();
- }
-
this->Properties.SetProperty(prop, value, cmProperty::GLOBAL);
}
void cmake::AppendProperty(const std::string& prop,
const char* value, bool asString)
{
- // Special hook to invalidate cached value.
- if(prop == "DEBUG_CONFIGURATIONS")
- {
- this->DebugConfigs.clear();
- }
-
this->Properties.AppendProperty(prop, value, cmProperty::GLOBAL, asString);
}
@@ -2758,27 +2746,24 @@ void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
}
//----------------------------------------------------------------------------
-std::vector<std::string> const& cmake::GetDebugConfigs()
+std::vector<std::string> cmake::GetDebugConfigs()
{
- // Compute on-demand.
- if(this->DebugConfigs.empty())
+ std::vector<std::string> configs;
+ if(const char* config_list = this->GetProperty("DEBUG_CONFIGURATIONS"))
{
- if(const char* config_list = this->GetProperty("DEBUG_CONFIGURATIONS"))
- {
- // Expand the specified list and convert to upper-case.
- cmSystemTools::ExpandListArgument(config_list, this->DebugConfigs);
- std::transform(this->DebugConfigs.begin(),
- this->DebugConfigs.end(),
- this->DebugConfigs.begin(),
- cmSystemTools::UpperCase);
- }
- // If no configurations were specified, use a default list.
- if(this->DebugConfigs.empty())
- {
- this->DebugConfigs.push_back("DEBUG");
- }
+ // Expand the specified list and convert to upper-case.
+ cmSystemTools::ExpandListArgument(config_list, configs);
+ std::transform(configs.begin(),
+ configs.end(),
+ configs.begin(),
+ cmSystemTools::UpperCase);
+ }
+ // If no configurations were specified, use a default list.
+ if(configs.empty())
+ {
+ configs.push_back("DEBUG");
}
- return this->DebugConfigs;
+ return configs;
}