mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 20:46:37 +08:00

committed by
Brad King

parent
ed9abd9977
commit
b284a21fee
@@ -566,7 +566,7 @@ public:
|
|||||||
} else {
|
} else {
|
||||||
this->Stream << this->LG->EscapeForXML("\n");
|
this->Stream << this->LG->EscapeForXML("\n");
|
||||||
}
|
}
|
||||||
std::string script = this->LG->ConstructScript(ccg);
|
std::string script = this->LG->ConstructScript(ccg, unmanaged);
|
||||||
this->Stream << this->LG->EscapeForXML(script);
|
this->Stream << this->LG->EscapeForXML(script);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1779,7 +1779,7 @@ void cmLocalVisualStudio7Generator::WriteCustomRule(
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string comment = this->ConstructComment(ccg);
|
std::string comment = this->ConstructComment(ccg);
|
||||||
std::string script = this->ConstructScript(ccg);
|
std::string script = this->ConstructScript(ccg, unmanaged);
|
||||||
if (this->FortranProject) {
|
if (this->FortranProject) {
|
||||||
cmSystemTools::ReplaceString(script, "$(Configuration)", config);
|
cmSystemTools::ReplaceString(script, "$(Configuration)", config);
|
||||||
}
|
}
|
||||||
|
@@ -124,7 +124,8 @@ const char* cmLocalVisualStudioGenerator::GetReportErrorLabel() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string cmLocalVisualStudioGenerator::ConstructScript(
|
std::string cmLocalVisualStudioGenerator::ConstructScript(
|
||||||
cmCustomCommandGenerator const& ccg, const std::string& newline_text)
|
cmCustomCommandGenerator const& ccg, IsManaged isManaged,
|
||||||
|
const std::string& newline_text)
|
||||||
{
|
{
|
||||||
bool useLocal = this->CustomCommandUseLocal();
|
bool useLocal = this->CustomCommandUseLocal();
|
||||||
std::string workingDirectory = ccg.GetWorkingDirectory();
|
std::string workingDirectory = ccg.GetWorkingDirectory();
|
||||||
@@ -236,6 +237,14 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
|
|||||||
script += newline;
|
script += newline;
|
||||||
script += "if %errorlevel% neq 0 goto ";
|
script += "if %errorlevel% neq 0 goto ";
|
||||||
script += this->GetReportErrorLabel();
|
script += this->GetReportErrorLabel();
|
||||||
|
if (isManaged == managed) {
|
||||||
|
// These aren't generated by default for C# projects.
|
||||||
|
script += newline;
|
||||||
|
script += this->GetReportErrorLabel();
|
||||||
|
script += newline;
|
||||||
|
script += "exit /b 0";
|
||||||
|
script += newline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return script;
|
return script;
|
||||||
|
@@ -31,7 +31,13 @@ public:
|
|||||||
virtual ~cmLocalVisualStudioGenerator();
|
virtual ~cmLocalVisualStudioGenerator();
|
||||||
|
|
||||||
/** Construct a script from the given list of command lines. */
|
/** Construct a script from the given list of command lines. */
|
||||||
|
enum IsManaged
|
||||||
|
{
|
||||||
|
unmanaged,
|
||||||
|
managed
|
||||||
|
};
|
||||||
std::string ConstructScript(cmCustomCommandGenerator const& ccg,
|
std::string ConstructScript(cmCustomCommandGenerator const& ccg,
|
||||||
|
IsManaged isManaged,
|
||||||
const std::string& newline = "\n");
|
const std::string& newline = "\n");
|
||||||
|
|
||||||
/** Label to which to jump in a batch file after a failed step in a
|
/** Label to which to jump in a batch file after a failed step in a
|
||||||
|
@@ -1465,7 +1465,10 @@ void cmVisualStudio10TargetGenerator::WriteCustomRule(
|
|||||||
cmCustomCommandGenerator ccg(command, c, lg, true);
|
cmCustomCommandGenerator ccg(command, c, lg, true);
|
||||||
std::string comment = lg->ConstructComment(ccg);
|
std::string comment = lg->ConstructComment(ccg);
|
||||||
comment = cmVS10EscapeComment(comment);
|
comment = cmVS10EscapeComment(comment);
|
||||||
std::string script = lg->ConstructScript(ccg);
|
cmLocalVisualStudioGenerator::IsManaged isManaged = (this->Managed)
|
||||||
|
? cmLocalVisualStudioGenerator::managed
|
||||||
|
: cmLocalVisualStudioGenerator::unmanaged;
|
||||||
|
std::string script = lg->ConstructScript(ccg, isManaged);
|
||||||
bool symbolic = false;
|
bool symbolic = false;
|
||||||
// input files for custom command
|
// input files for custom command
|
||||||
std::stringstream additional_inputs;
|
std::stringstream additional_inputs;
|
||||||
@@ -4205,7 +4208,10 @@ void cmVisualStudio10TargetGenerator::WriteEvent(
|
|||||||
comment += lg->ConstructComment(ccg);
|
comment += lg->ConstructComment(ccg);
|
||||||
script += pre;
|
script += pre;
|
||||||
pre = "\n";
|
pre = "\n";
|
||||||
script += lg->ConstructScript(ccg);
|
cmLocalVisualStudioGenerator::IsManaged isManaged = (this->Managed)
|
||||||
|
? cmLocalVisualStudioGenerator::managed
|
||||||
|
: cmLocalVisualStudioGenerator::unmanaged;
|
||||||
|
script += lg->ConstructScript(ccg, isManaged);
|
||||||
|
|
||||||
stdPipesUTF8 = stdPipesUTF8 || cc.GetStdPipesUTF8();
|
stdPipesUTF8 = stdPipesUTF8 || cc.GetStdPipesUTF8();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user