summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 3901da4..91e5192 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1021,7 +1021,19 @@ void cmLocalVisualStudio7Generator::OutputDefineFlags(const char* flags,
// with a backslash. The entire definition should be quoted in
// the generated xml attribute to avoid confusing the VS parser.
cmSystemTools::ReplaceString(define, "\"", "\\"");
- fout << "&quot;" << define << "&quot;,";
+ // if the define has something in it that is not a letter or a number
+ // then quote it
+ if(define.
+ find_first_not_of(
+ "-_abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIGKLMNOPQRSTUVWXYZ")
+ != define.npos)
+ {
+ fout << "&quot;" << define << "&quot;,";
+ }
+ else
+ {
+ fout << define << ",";
+ }
if(!done)
{
pos = defs.find("-D", nextpos);