summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-06-06 16:01:23 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-06-06 16:01:23 (GMT)
commitabf97b5b84f8c4f8f3fb3bcf4e20f164c6c86233 (patch)
tree79684cdef3e96fc3a0bd3ef461a496ad5c09a004 /Source/cmLocalVisualStudio7Generator.cxx
parent85c5a7dbc060bba4bd5939e98c71eb16aa71de2f (diff)
downloadCMake-abf97b5b84f8c4f8f3fb3bcf4e20f164c6c86233.zip
CMake-abf97b5b84f8c4f8f3fb3bcf4e20f164c6c86233.tar.gz
CMake-abf97b5b84f8c4f8f3fb3bcf4e20f164c6c86233.tar.bz2
ENH: fix /TP for c code
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.cxx')
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx19
1 files changed, 16 insertions, 3 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 17c2704..0cc7dad 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1166,9 +1166,22 @@ void cmLocalVisualStudio7Generator
<< "\t\t\t\t\t<Tool\n"
<< "\t\t\t\t\tName=\"" << aCompilerTool << "\"\n";
if(compileFlags.size())
- {
- fout << "\t\t\t\t\tAdditionalOptions=\""
- << this->EscapeForXML(compileFlags.c_str()) << "\"\n";
+ {
+ std::string compileFlagsCopy = compileFlags;
+ std::map<cmStdString, cmStdString> fileFlagMap;
+ this->FillFlagMapFromCommandFlags
+ (fileFlagMap, &cmLocalVisualStudio7GeneratorFlagTable[0], compileFlagsCopy);
+ if(compileFlagsCopy.size() && compileFlagsCopy.find_first_not_of(" ")
+ != compileFlagsCopy.npos)
+ {
+ fout << "\t\t\t\t\tAdditionalOptions=\""
+ << this->EscapeForXML(compileFlagsCopy.c_str()) << "\"\n";
+ }
+ for(std::map<cmStdString, cmStdString>::iterator m = fileFlagMap.begin();
+ m != fileFlagMap.end(); ++m)
+ {
+ fout << "\t\t\t\t\t" << m->first << "=\"" << m->second << "\"\n";
+ }
}
if(additionalDeps.length())
{