diff --git a/Source/cmIDEOptions.cxx b/Source/cmIDEOptions.cxx index dfbece796..72bd593fc 100644 --- a/Source/cmIDEOptions.cxx +++ b/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) { diff --git a/Source/cmIDEOptions.h b/Source/cmIDEOptions.h index 313c00345..9b60f8000 100644 --- a/Source/cmIDEOptions.h +++ b/Source/cmIDEOptions.h @@ -30,6 +30,7 @@ public: void AddDefines(const std::vector &defines); void AddFlag(const char* flag, const char* value); void AddFlag(const char* flag, std::vector const& value); + void AppendFlag(std::string const& flag, std::string const& value); void RemoveFlag(const char* flag); const char* GetFlag(const char* flag); diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 6989d950e..18d895131 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/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();