diff options
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.cxx')
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 27cd856..493eb81 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -946,8 +946,11 @@ void cmLocalVisualStudio7Generator::OutputDefineFlags(const char* flags, done = true; } - cmSystemTools::ReplaceString(define, "\"", """); - fout << define << ","; + // Double-quotes in the value of the definition must be escaped + // with a backslash. The entire definition should be quoted in + // the generated xml attribute to avoid confusing the VS parser. + cmSystemTools::ReplaceString(define, "\"", "\\""); + fout << """ << define << "","; if(!done) { pos = defs.find("-D", nextpos); |