From 545ae439b7f388947ca59812deea9d8afa5ce951 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Fri, 17 Oct 2003 16:08:49 -0400 Subject: [PATCH] BUG: fix for unicode and for /D -D --- Source/cmLocalVisualStudio7Generator.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index ce69b9884d..b740bb2491 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -328,7 +328,9 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout, // if -D_UNICODE or /D_UNICODE is found in the flags // change the character set to unicode, if not then // default to MBCS - if(flags.find("D_UNICODE") != flags.npos ) + std::string defs = m_Makefile->GetDefineFlags(); + if(flags.find("D_UNICODE") != flags.npos || + defs.find("D_UNICODE") != flags.npos) { fout << "\t\t\tCharacterSet=\"1\">\n"; } @@ -692,6 +694,7 @@ void cmLocalVisualStudio7Generator::OutputLibraries(std::ostream& fout, void cmLocalVisualStudio7Generator::OutputDefineFlags(std::ostream& fout) { std::string defs = m_Makefile->GetDefineFlags(); + cmSystemTools::ReplaceString(defs, "/D","-D"); std::string::size_type pos = defs.find("-D"); bool done = pos == std::string::npos; if(!done)