Procházet zdrojové kódy

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 před 16 roky
rodič
revize
67530409a9
1 změnil soubory, kde provedl 4 přidání a 4 odebrání
  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());
 }