Merge topic 'vs-csproj-scripts'

aca153b104 VS: Add custom VCEnd labels only in C# projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6808
This commit is contained in:
Brad King
2021-12-17 13:58:17 +00:00
committed by Kitware Robot
4 changed files with 17 additions and 16 deletions
+2 -3
View File
@@ -574,8 +574,7 @@ public:
{
// If any commands were generated, finish constructing them.
if (!this->First) {
std::string finishScript =
this->LG->FinishConstructScript(IsManaged::No);
std::string finishScript = this->LG->FinishConstructScript(IsCSharp::No);
this->Stream << this->LG->EscapeForXML(finishScript) << "\"";
}
@@ -1818,7 +1817,7 @@ void cmLocalVisualStudio7Generator::WriteCustomRule(
if (this->FortranProject) {
cmSystemTools::ReplaceString(script, "$(Configuration)", config);
}
script += this->FinishConstructScript(IsManaged::No);
script += this->FinishConstructScript(IsCSharp::No);
/* clang-format off */
fout << "\t\t\t\t\t<Tool\n"
<< "\t\t\t\t\tName=\"" << customTool << "\"\n"
+3 -3
View File
@@ -245,15 +245,15 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
}
std::string cmLocalVisualStudioGenerator::FinishConstructScript(
IsManaged isManaged, const std::string& newline)
IsCSharp isCSharp, const std::string& newline)
{
bool useLocal = this->CustomCommandUseLocal();
// Store the script in a string.
std::string script;
if (useLocal && isManaged == IsManaged::Yes) {
// These aren't generated by default for C# projects.
if (useLocal && isCSharp == IsCSharp::Yes) {
// This label is not provided by MSBuild for C# projects.
script += newline;
script += this->GetReportErrorLabel();
}
+2 -2
View File
@@ -31,14 +31,14 @@ public:
virtual ~cmLocalVisualStudioGenerator();
/** Construct a script from the given list of command lines. */
enum class IsManaged
enum class IsCSharp
{
No,
Yes
};
std::string ConstructScript(cmCustomCommandGenerator const& ccg,
const std::string& newline = "\n");
std::string FinishConstructScript(IsManaged isManaged,
std::string FinishConstructScript(IsCSharp isCSharp,
const std::string& newline = "\n");
/** Label to which to jump in a batch file after a failed step in a
+10 -8
View File
@@ -1571,10 +1571,11 @@ void cmVisualStudio10TargetGenerator::WriteCustomRule(
}
}
}
cmLocalVisualStudioGenerator::IsManaged isManaged = (this->Managed)
? cmLocalVisualStudioGenerator::IsManaged::Yes
: cmLocalVisualStudioGenerator::IsManaged::No;
script += lg->FinishConstructScript(isManaged);
cmLocalVisualStudioGenerator::IsCSharp isCSharp =
(this->ProjectType == VsProjectType::csproj)
? cmLocalVisualStudioGenerator::IsCSharp::Yes
: cmLocalVisualStudioGenerator::IsCSharp::No;
script += lg->FinishConstructScript(isCSharp);
if (this->ProjectType == VsProjectType::csproj) {
std::string name = "CustomCommand_" + c + "_" +
cmSystemTools::ComputeStringMD5(sourcePath);
@@ -4308,10 +4309,11 @@ void cmVisualStudio10TargetGenerator::WriteEvent(
}
}
if (!script.empty()) {
cmLocalVisualStudioGenerator::IsManaged isManaged = (this->Managed)
? cmLocalVisualStudioGenerator::IsManaged::Yes
: cmLocalVisualStudioGenerator::IsManaged::No;
script += lg->FinishConstructScript(isManaged);
cmLocalVisualStudioGenerator::IsCSharp isCSharp =
(this->ProjectType == VsProjectType::csproj)
? cmLocalVisualStudioGenerator::IsCSharp::Yes
: cmLocalVisualStudioGenerator::IsCSharp::No;
script += lg->FinishConstructScript(isCSharp);
}
comment = cmVS10EscapeComment(comment);
if (this->ProjectType != VsProjectType::csproj) {