diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2005-02-11 19:20:51 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2005-02-11 19:20:51 (GMT) |
commit | a2972211a88a2bf9b8c1a1b0ebf7a02cb0ca18cb (patch) | |
tree | 1b9063997c3da82df6e94789b2823e8117b6a6af /Source/cmLocalVisualStudio7Generator.cxx | |
parent | 575c34300cbb3578fd48834d5afdabd1b90454dd (diff) | |
download | CMake-a2972211a88a2bf9b8c1a1b0ebf7a02cb0ca18cb.zip CMake-a2972211a88a2bf9b8c1a1b0ebf7a02cb0ca18cb.tar.gz CMake-a2972211a88a2bf9b8c1a1b0ebf7a02cb0ca18cb.tar.bz2 |
FIX: fix for bug 1460
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.cxx')
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 0578fe8..87fe048 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -270,6 +270,15 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] = {0,0,0,0 } }; + +cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] = +{ + // option flags (some flags map to the same option) + {"LinkIncremental", "INCREMENTAL:NO", "link incremental", "1"}, + {"LinkIncremental", "INCREMENTAL:YES", "link incremental", "2"}, + {0,0,0,0 } +}; + @@ -583,7 +592,12 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, extraLinkOptions += " "; extraLinkOptions += targetLinkFlags; } - + + std::map<cmStdString, cmStdString> flagMap; + this-> + FillFlagMapFromCommandFlags(flagMap, + &cmLocalVisualStudio7GeneratorLinkFlagTable[0], + extraLinkOptions); switch(target.GetType()) { case cmTarget::STATIC_LIBRARY: @@ -623,7 +637,12 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, temp += ".dll"; fout << "\t\t\t\tOutputFile=\"" << this->ConvertToXMLOutputPathSingle(temp.c_str()) << "\"\n"; - fout << "\t\t\t\tLinkIncremental=\"1\"\n"; + for(std::map<cmStdString, cmStdString>::iterator i = flagMap.begin(); + i != flagMap.end(); ++i) + { + fout << "\t\t\t\t" << i->first << "=\"" << i->second << "\"\n"; + } + if(m_Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE")) { fout << "\t\t\t\tSuppressStartupBanner=\"FALSE\"\n"; @@ -696,7 +715,11 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, temp += libName; temp += ".exe"; fout << "\t\t\t\tOutputFile=\"" << this->ConvertToXMLOutputPathSingle(temp.c_str()) << "\"\n"; - fout << "\t\t\t\tLinkIncremental=\"1\"\n"; + for(std::map<cmStdString, cmStdString>::iterator i = flagMap.begin(); + i != flagMap.end(); ++i) + { + fout << "\t\t\t\t" << i->first << "=\"" << i->second << "\"\n"; + } if(m_Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE")) { fout << "\t\t\t\tSuppressStartupBanner=\"FALSE\"\n"; |