summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalNinjaGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-05-18 17:10:51 (GMT)
committerBrad King <brad.king@kitware.com>2021-05-19 16:07:58 (GMT)
commitceb82752efbd7a25d1b54e0b038712eecb70163b (patch)
tree652f0bf66645612645d91caa936cb6954c32539f /Source/cmLocalNinjaGenerator.cxx
parent82fd8b6ba36658705fc55bc40df0b6b6ec80b773 (diff)
downloadCMake-ceb82752efbd7a25d1b54e0b038712eecb70163b.zip
CMake-ceb82752efbd7a25d1b54e0b038712eecb70163b.tar.gz
CMake-ceb82752efbd7a25d1b54e0b038712eecb70163b.tar.bz2
cmLocalNinjaGenerator: Use variable for main custom command output path
Diffstat (limited to 'Source/cmLocalNinjaGenerator.cxx')
-rw-r--r--Source/cmLocalNinjaGenerator.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index a8570e2..82aa3c4 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -649,6 +649,8 @@ void cmLocalNinjaGenerator::WriteCustomCommandBuildStatement(
gg->SeenCustomCommandOutput(ninjaOutput);
}
+ std::string mainOutput = ninjaOutputs[0];
+
cmNinjaDeps ninjaDeps;
this->AppendCustomCommandDeps(ccg, ninjaDeps, fileConfig);
@@ -657,13 +659,13 @@ void cmLocalNinjaGenerator::WriteCustomCommandBuildStatement(
if (cmdLines.empty()) {
cmNinjaBuild build("phony");
- build.Comment = "Phony custom command for " + ninjaOutputs[0];
+ build.Comment = cmStrCat("Phony custom command for ", mainOutput);
build.Outputs = std::move(ninjaOutputs);
build.ExplicitDeps = std::move(ninjaDeps);
build.OrderOnlyDeps = orderOnlyDeps;
gg->WriteBuild(this->GetImplFileStream(fileConfig), build);
} else {
- std::string customStep = cmSystemTools::GetFilenameName(ninjaOutputs[0]);
+ std::string customStep = cmSystemTools::GetFilenameName(mainOutput);
if (this->GlobalGenerator->IsMultiConfig()) {
customStep += '-';
customStep += fileConfig;
@@ -673,7 +675,7 @@ void cmLocalNinjaGenerator::WriteCustomCommandBuildStatement(
// Hash full path to make unique.
customStep += '-';
cmCryptoHash hash(cmCryptoHash::AlgoSHA256);
- customStep += hash.HashString(ninjaOutputs[0]).substr(0, 7);
+ customStep += hash.HashString(mainOutput).substr(0, 7);
std::string depfile = ccg.GetDepfile();
if (!depfile.empty()) {
@@ -701,11 +703,12 @@ void cmLocalNinjaGenerator::WriteCustomCommandBuildStatement(
}
}
+ std::string comment = cmStrCat("Custom command for ", mainOutput);
gg->WriteCustomCommandBuild(
this->BuildCommandLine(cmdLines, ccg.GetOutputConfig(), fileConfig,
customStep),
- this->ConstructComment(ccg), "Custom command for " + ninjaOutputs[0],
- depfile, cc->GetJobPool(), cc->GetUsesTerminal(),
+ this->ConstructComment(ccg), comment, depfile, cc->GetJobPool(),
+ cc->GetUsesTerminal(),
/*restat*/ !symbolic || !byproducts.empty(), ninjaOutputs, fileConfig,
ninjaDeps, orderOnlyDeps);
}