From ecff1c37da3963120add420e76fd940ea05edec9 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Aug 2007 11:39:51 -0400 Subject: [PATCH] BUG: Do not recognize preprocessor definition flags for the linker which has no preprocessor but does have flags starting with /D. --- Source/cmLocalVisualStudio7Generator.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 119f6c796..c4d7a35b3 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -405,6 +405,7 @@ private: // Unrecognized flags that get no special handling. cmStdString FlagString; + Tool CurrentTool; bool DoingDefine; cmVS7FlagTable const* FlagTable; cmVS7FlagTable const* ExtraFlagTable; @@ -1630,6 +1631,7 @@ std::string cmLocalVisualStudio7Generator cmLocalVisualStudio7GeneratorOptions ::cmLocalVisualStudio7GeneratorOptions(Tool tool, cmVS7FlagTable const* extraTable): + CurrentTool(tool), DoingDefine(false), FlagTable(0), ExtraFlagTable(extraTable) { // Choose the flag table for the requested tool. @@ -1728,8 +1730,7 @@ void cmLocalVisualStudio7GeneratorOptions::HandleFlag(const char* flag) if(flag[0] == '-' || flag[0] == '/') { // Look for preprocessor definitions. - if(flag[1] == 'D' && strncmp(flag+1, "DEF:", 4) !=0 - && strcmp(flag+1, "DLL") != 0) + if(this->CurrentTool == Compiler && flag[1] == 'D') { if(flag[2] == '\0') {