From 67530409a91156b06b3f8076bbd2e96969319fd4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 30 Sep 2009 10:12:54 -0400 Subject: [PATCH] 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. --- Source/cmMakefileTargetGenerator.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 94e0833fc..edfae8720 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/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()); }