Browse Source

Merge topic 'vs-default-ignore-libs'

c1580a92 VS: Always add IgnoreSpecificDefaultLibraries to .vcxproj files
29410df2 cmIDEOptions: Add an AppendFlag method to update multi-valued options
Brad King 11 years ago
parent
commit
662daff0b2
3 changed files with 10 additions and 0 deletions
  1. 7 0
      Source/cmIDEOptions.cxx
  2. 1 0
      Source/cmIDEOptions.h
  3. 2 0
      Source/cmVisualStudio10TargetGenerator.cxx

+ 7 - 0
Source/cmIDEOptions.cxx

@@ -195,6 +195,13 @@ void cmIDEOptions::AddFlag(const char* flag,
   this->FlagMap[flag] = value;
 }
 
+//----------------------------------------------------------------------------
+void cmIDEOptions::AppendFlag(std::string const& flag,
+                              std::string const& value)
+{
+  this->FlagMap[flag].push_back(value);
+}
+
 //----------------------------------------------------------------------------
 void cmIDEOptions::RemoveFlag(const char* flag)
 {

+ 1 - 0
Source/cmIDEOptions.h

@@ -30,6 +30,7 @@ public:
   void AddDefines(const std::vector<std::string> &defines);
   void AddFlag(const char* flag, const char* value);
   void AddFlag(const char* flag, std::vector<std::string> const& value);
+  void AppendFlag(std::string const& flag, std::string const& value);
   void RemoveFlag(const char* flag);
   const char* GetFlag(const char* flag);
 

+ 2 - 0
Source/cmVisualStudio10TargetGenerator.cxx

@@ -1864,6 +1864,8 @@ cmVisualStudio10TargetGenerator::ComputeLinkOptions(std::string const& config)
       {
       linkOptions.AddFlag("ModuleDefinitionFile", def.c_str());
       }
+    linkOptions.AppendFlag("IgnoreSpecificDefaultLibraries",
+                           "%(IgnoreSpecificDefaultLibraries)");
     }
 
   this->LinkOptions[config] = pOptions.release();