summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2005-02-11 19:20:51 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2005-02-11 19:20:51 (GMT)
commita2972211a88a2bf9b8c1a1b0ebf7a02cb0ca18cb (patch)
tree1b9063997c3da82df6e94789b2823e8117b6a6af /Source/cmLocalVisualStudio7Generator.cxx
parent575c34300cbb3578fd48834d5afdabd1b90454dd (diff)
downloadCMake-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.cxx29
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";