cmGlobalNinjaGenerator: factor out /all target name computation

This commit is contained in:
Ben Boeckel
2020-02-11 03:31:09 -05:00
parent a85bea173a
commit 04ac0ea501

View File

@@ -1359,10 +1359,11 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
cmNinjaDeps configDeps; cmNinjaDeps configDeps;
build.Comment = "Folder: " + currentBinaryDir; build.Comment = "Folder: " + currentBinaryDir;
build.Outputs.emplace_back(); build.Outputs.emplace_back();
std::string const buildDirAllTarget =
this->ConvertToNinjaPath(cmStrCat(currentBinaryDir, "/all"));
for (auto const& config : configs) { for (auto const& config : configs) {
build.ExplicitDeps.clear(); build.ExplicitDeps.clear();
build.Outputs.front() = this->BuildAlias( build.Outputs.front() = this->BuildAlias(buildDirAllTarget, config);
this->ConvertToNinjaPath(currentBinaryDir + "/all"), config);
configDeps.emplace_back(build.Outputs.front()); configDeps.emplace_back(build.Outputs.front());
for (DirectoryTarget::Target const& t : dt.Targets) { for (DirectoryTarget::Target const& t : dt.Targets) {
if (!t.ExcludeFromAll) { if (!t.ExcludeFromAll) {
@@ -1386,21 +1387,18 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
// Add shortcut target // Add shortcut target
if (this->IsMultiConfig()) { if (this->IsMultiConfig()) {
for (auto const& config : configs) { for (auto const& config : configs) {
build.ExplicitDeps = { this->BuildAlias( build.ExplicitDeps = { this->BuildAlias(buildDirAllTarget, config) };
this->ConvertToNinjaPath(currentBinaryDir + "/all"), config) }; build.Outputs.front() = buildDirAllTarget;
build.Outputs.front() =
this->ConvertToNinjaPath(currentBinaryDir + "/all");
this->WriteBuild(*this->GetConfigFileStream(config), build); this->WriteBuild(*this->GetConfigFileStream(config), build);
} }
if (!this->DefaultFileConfig.empty()) { if (!this->DefaultFileConfig.empty()) {
build.ExplicitDeps.clear(); build.ExplicitDeps.clear();
for (auto const& config : this->DefaultConfigs) { for (auto const& config : this->DefaultConfigs) {
build.ExplicitDeps.push_back(this->BuildAlias( build.ExplicitDeps.push_back(
this->ConvertToNinjaPath(currentBinaryDir + "/all"), config)); this->BuildAlias(buildDirAllTarget, config));
} }
build.Outputs.front() = build.Outputs.front() = buildDirAllTarget;
this->ConvertToNinjaPath(currentBinaryDir + "/all");
this->WriteBuild(*this->GetDefaultFileStream(), build); this->WriteBuild(*this->GetDefaultFileStream(), build);
} }
} }
@@ -1409,11 +1407,10 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
if (this->EnableCrossConfigBuild()) { if (this->EnableCrossConfigBuild()) {
build.ExplicitDeps.clear(); build.ExplicitDeps.clear();
for (auto const& config : this->CrossConfigs) { for (auto const& config : this->CrossConfigs) {
build.ExplicitDeps.push_back(this->BuildAlias( build.ExplicitDeps.push_back(
this->ConvertToNinjaPath(currentBinaryDir + "/all"), config)); this->BuildAlias(buildDirAllTarget, config));
} }
build.Outputs.front() = this->BuildAlias( build.Outputs.front() = this->BuildAlias(buildDirAllTarget, "all");
this->ConvertToNinjaPath(currentBinaryDir + "/all"), "all");
this->WriteBuild(os, build); this->WriteBuild(os, build);
} }
} }