diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2007-12-06 13:40:18 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2007-12-06 13:40:18 (GMT) |
commit | 246e9641807e817f0a6051130128d5433e1b83a6 (patch) | |
tree | c4f0c9520188836a2c6d135b52484efd953fa228 /Source/cmLocalVisualStudio7Generator.cxx | |
parent | 6d7ca9f9d4b78ac426650c2237a35d1ab0e2bae4 (diff) | |
download | CMake-246e9641807e817f0a6051130128d5433e1b83a6.zip CMake-246e9641807e817f0a6051130128d5433e1b83a6.tar.gz CMake-246e9641807e817f0a6051130128d5433e1b83a6.tar.bz2 |
BUG: fix for bug 5455, handle nodefaultlib with more than one lib
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.cxx')
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 18c3007..4e7db83 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -365,7 +365,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] = {"LinkIncremental", "INCREMENTAL:NO", "link incremental", "1", 0}, {"LinkIncremental", "INCREMENTAL:YES", "link incremental", "2", 0}, {"IgnoreDefaultLibraryNames", "NODEFAULTLIB:", "default libs to ignore", "", - cmVS7FlagTable::UserValue}, + cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "ignore all default libs", "TRUE", 0}, {"ModuleDefinitionFile", "DEF:", "add an export def file", "", @@ -1807,6 +1807,23 @@ cmLocalVisualStudio7GeneratorOptions // Ignore the user-specified value. this->FlagMap[entry->IDEName] = entry->value; } + else if(entry->special & cmVS7FlagTable::SemicolonAppendable) + { + const char *new_value = flag+1+n; + + std::map<cmStdString,cmStdString>::iterator itr; + itr = this->FlagMap.find(entry->IDEName); + if(itr != this->FlagMap.end()) + { + // Append to old value (if present) with semicolons; + itr->second += ";"; + itr->second += new_value; + } + else + { + this->FlagMap[entry->IDEName] = new_value; + } + } else { // Use the user-specified value. |