mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-04 13:19:51 -05:00
BUG: hack fix for problem of MS vs 6 and custom target commands
This commit is contained in:
@@ -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(),
|
||||
|
||||
+22
-3
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user