summaryrefslogtreecommitdiff
path: root/Source/cmIDEOptions.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmIDEOptions.cxx')
-rw-r--r--Source/cmIDEOptions.cxx117
1 files changed, 45 insertions, 72 deletions
diff --git a/Source/cmIDEOptions.cxx b/Source/cmIDEOptions.cxx
index 1c5251969e..9f4b537dbb 100644
--- a/Source/cmIDEOptions.cxx
+++ b/Source/cmIDEOptions.cxx
@@ -21,10 +21,9 @@ cmIDEOptions::cmIDEOptions()
this->AllowDefine = true;
this->AllowSlash = false;
this->DoingFollowing = 0;
- for(int i=0; i < FlagTableCount; ++i)
- {
+ for (int i = 0; i < FlagTableCount; ++i) {
this->FlagTable[i] = 0;
- }
+ }
}
cmIDEOptions::~cmIDEOptions()
@@ -34,56 +33,46 @@ cmIDEOptions::~cmIDEOptions()
void cmIDEOptions::HandleFlag(const char* flag)
{
// If the last option was -D then this option is the definition.
- if(this->DoingDefine)
- {
+ if (this->DoingDefine) {
this->DoingDefine = false;
this->Defines.push_back(flag);
return;
- }
+ }
// If the last option expected a following value, this is it.
- if(this->DoingFollowing)
- {
+ if (this->DoingFollowing) {
this->FlagMapUpdate(this->DoingFollowing, flag);
this->DoingFollowing = 0;
return;
- }
+ }
// Look for known arguments.
- if(flag[0] == '-' || (this->AllowSlash && flag[0] == '/'))
- {
+ if (flag[0] == '-' || (this->AllowSlash && flag[0] == '/')) {
// Look for preprocessor definitions.
- if(this->AllowDefine && flag[1] == 'D')
- {
- if(flag[2] == '\0')
- {
+ if (this->AllowDefine && flag[1] == 'D') {
+ if (flag[2] == '\0') {
// The next argument will have the definition.
this->DoingDefine = true;
- }
- else
- {
+ } else {
// Store this definition.
- this->Defines.push_back(flag+2);
- }
- return;
+ this->Defines.push_back(flag + 2);
}
+ return;
+ }
// Look through the available flag tables.
bool flag_handled = false;
- for(int i=0; i < FlagTableCount && this->FlagTable[i]; ++i)
- {
- if(this->CheckFlagTable(this->FlagTable[i], flag, flag_handled))
- {
+ for (int i = 0; i < FlagTableCount && this->FlagTable[i]; ++i) {
+ if (this->CheckFlagTable(this->FlagTable[i], flag, flag_handled)) {
return;
- }
}
+ }
// If any map entry handled the flag we are done.
- if(flag_handled)
- {
+ if (flag_handled) {
return;
- }
}
+ }
// This option is not known. Store it in the output flags.
this->StoreUnknownFlag(flag);
@@ -93,52 +82,43 @@ bool cmIDEOptions::CheckFlagTable(cmIDEFlagTable const* table,
const char* flag, bool& flag_handled)
{
// Look for an entry in the flag table matching this flag.
- for(cmIDEFlagTable const* entry = table; entry->IDEName; ++entry)
- {
+ for (cmIDEFlagTable const* entry = table; entry->IDEName; ++entry) {
bool entry_found = false;
- if(entry->special & cmIDEFlagTable::UserValue)
- {
+ if (entry->special & cmIDEFlagTable::UserValue) {
// This flag table entry accepts a user-specified value. If
// the entry specifies UserRequired we must match only if a
// non-empty value is given.
int n = static_cast<int>(strlen(entry->commandFlag));
- if((strncmp(flag+1, entry->commandFlag, n) == 0 ||
- (entry->special & cmIDEFlagTable::CaseInsensitive &&
- cmsysString_strncasecmp(flag+1, entry->commandFlag, n))) &&
- (!(entry->special & cmIDEFlagTable::UserRequired) ||
- static_cast<int>(strlen(flag+1)) > n))
- {
- this->FlagMapUpdate(entry, flag+n+1);
+ if ((strncmp(flag + 1, entry->commandFlag, n) == 0 ||
+ (entry->special & cmIDEFlagTable::CaseInsensitive &&
+ cmsysString_strncasecmp(flag + 1, entry->commandFlag, n))) &&
+ (!(entry->special & cmIDEFlagTable::UserRequired) ||
+ static_cast<int>(strlen(flag + 1)) > n)) {
+ this->FlagMapUpdate(entry, flag + n + 1);
entry_found = true;
- }
}
- else if(strcmp(flag+1, entry->commandFlag) == 0 ||
- (entry->special & cmIDEFlagTable::CaseInsensitive &&
- cmsysString_strcasecmp(flag+1, entry->commandFlag) == 0))
- {
- if(entry->special & cmIDEFlagTable::UserFollowing)
- {
+ } else if (strcmp(flag + 1, entry->commandFlag) == 0 ||
+ (entry->special & cmIDEFlagTable::CaseInsensitive &&
+ cmsysString_strcasecmp(flag + 1, entry->commandFlag) == 0)) {
+ if (entry->special & cmIDEFlagTable::UserFollowing) {
// This flag expects a value in the following argument.
this->DoingFollowing = entry;
- }
- else
- {
+ } else {
// This flag table entry provides a fixed value.
this->FlagMap[entry->IDEName] = entry->value;
- }
- entry_found = true;
}
+ entry_found = true;
+ }
// If the flag has been handled by an entry not requesting a
// search continuation we are done.
- if(entry_found && !(entry->special & cmIDEFlagTable::Continue))
- {
+ if (entry_found && !(entry->special & cmIDEFlagTable::Continue)) {
return true;
- }
+ }
// If the entry was found the flag has been handled.
flag_handled = flag_handled || entry_found;
- }
+ }
return false;
}
@@ -146,20 +126,15 @@ bool cmIDEOptions::CheckFlagTable(cmIDEFlagTable const* table,
void cmIDEOptions::FlagMapUpdate(cmIDEFlagTable const* entry,
const char* new_value)
{
- if(entry->special & cmIDEFlagTable::UserIgnored)
- {
+ if (entry->special & cmIDEFlagTable::UserIgnored) {
// Ignore the user-specified value.
this->FlagMap[entry->IDEName] = entry->value;
- }
- else if(entry->special & cmIDEFlagTable::SemicolonAppendable)
- {
+ } else if (entry->special & cmIDEFlagTable::SemicolonAppendable) {
this->FlagMap[entry->IDEName].push_back(new_value);
- }
- else
- {
+ } else {
// Use the user-specified value.
this->FlagMap[entry->IDEName] = new_value;
- }
+ }
}
void cmIDEOptions::AddDefine(const std::string& def)
@@ -169,13 +144,12 @@ void cmIDEOptions::AddDefine(const std::string& def)
void cmIDEOptions::AddDefines(const char* defines)
{
- if(defines)
- {
+ if (defines) {
// Expand the list of definitions.
cmSystemTools::ExpandListArgument(defines, this->Defines);
- }
+ }
}
-void cmIDEOptions::AddDefines(const std::vector<std::string> &defines)
+void cmIDEOptions::AddDefines(const std::vector<std::string>& defines)
{
this->Defines.insert(this->Defines.end(), defines.begin(), defines.end());
}
@@ -218,9 +192,8 @@ const char* cmIDEOptions::GetFlag(const char* flag)
{
// This method works only for single-valued flags!
std::map<std::string, FlagValue>::iterator i = this->FlagMap.find(flag);
- if(i != this->FlagMap.end() && i->second.size() == 1)
- {
+ if (i != this->FlagMap.end() && i->second.size() == 1) {
return i->second[0].c_str();
- }
+ }
return 0;
}