Browse Source

Fix module definition file reference for VS6 NMake

When building through NMake with VS 6, the module definition file must
be passed without spaces in the path.  This is because 'cl -link' does
not escape the spaces when passing the value on to the linker.
Brad King 16 years ago
parent
commit
67530409a9
1 changed files with 4 additions and 4 deletions
  1. 4 4
      Source/cmMakefileTargetGenerator.cxx

+ 4 - 4
Source/cmMakefileTargetGenerator.cxx

@@ -1755,10 +1755,10 @@ void cmMakefileTargetGenerator::AddModuleDefinitionFlag(std::string& flags)
     return;
     }
 
-  // Append the flag and value.
+  // Append the flag and value.  Use ConvertToLinkReference to help
+  // vs6's "cl -link" pass it to the linker.
   std::string flag = defFileFlag;
-  flag += this->Convert(this->ModuleDefinitionFile.c_str(),
-                        cmLocalGenerator::START_OUTPUT,
-                        cmLocalGenerator::SHELL);
+  flag += (this->LocalGenerator->ConvertToLinkReference(
+             this->ModuleDefinitionFile.c_str()));
   this->LocalGenerator->AppendFlags(flags, flag.c_str());
 }