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.
This commit is contained in:
Brad King 2009-09-30 10:12:54 -04:00
parent b5bc1d9f74
commit 67530409a9
1 changed files with 4 additions and 4 deletions

View File

@ -1755,10 +1755,10 @@ void cmMakefileTargetGenerator::AddModuleDefinitionFlag(std::string& flags)
return; 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; std::string flag = defFileFlag;
flag += this->Convert(this->ModuleDefinitionFile.c_str(), flag += (this->LocalGenerator->ConvertToLinkReference(
cmLocalGenerator::START_OUTPUT, this->ModuleDefinitionFile.c_str()));
cmLocalGenerator::SHELL);
this->LocalGenerator->AppendFlags(flags, flag.c_str()); this->LocalGenerator->AppendFlags(flags, flag.c_str());
} }