BUG: hack fix for problem of MS vs 6 and custom target commands
This commit is contained in:
parent
271f4be42a
commit
eff0a824c4
|
@ -253,6 +253,11 @@ void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
|
|||
m_Makefile->GetStartOutputDirectory(),
|
||||
libName, count);
|
||||
std::vector<std::string> args;
|
||||
// This is a hack to fix a problem with cmCustomCommand
|
||||
// The cmCustomCommand should store the arguments as a vector
|
||||
// and not a string, and the cmAddCustomTargetCommand should
|
||||
// not EscapeSpaces.
|
||||
args.push_back("This is really a single argument do not escape spaces");
|
||||
args.push_back(cc.GetArguments());
|
||||
m_Makefile->AddCustomCommandToOutput(output,
|
||||
cc.GetCommand().c_str(),
|
||||
|
|
|
@ -570,12 +570,31 @@ AddCustomCommandToOutput(const char* outputIn,
|
|||
command = cmSystemTools::EscapeSpaces(command.c_str());
|
||||
|
||||
unsigned int i;
|
||||
bool escapeSpaces = true;
|
||||
for (i = 0; i < commandArgs.size(); ++i)
|
||||
{
|
||||
expandC = commandArgs[i].c_str();
|
||||
this->ExpandVariablesInString(expandC);
|
||||
combinedArgs += cmSystemTools::EscapeSpaces(expandC.c_str());
|
||||
combinedArgs += " ";
|
||||
// This is a hack to fix a problem with cmCustomCommand
|
||||
// The cmCustomCommand should store the arguments as a vector
|
||||
// and not a string, and the cmAddCustomTargetCommand should
|
||||
// not EscapeSpaces.
|
||||
if(expandC == "This is really a single argument do not escape spaces")
|
||||
{
|
||||
escapeSpaces = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this->ExpandVariablesInString(expandC);
|
||||
if(escapeSpaces)
|
||||
{
|
||||
combinedArgs += cmSystemTools::EscapeSpaces(expandC.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
combinedArgs += expandC;
|
||||
}
|
||||
combinedArgs += " ";
|
||||
}
|
||||
}
|
||||
cmSourceFile *file = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue