mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
export: Use std::all_of to collect exports
Rewrite cmExport{Build,Install}FileGenerator::CollectExports to use std::all_of as recommended by clang-tidy.
This commit is contained in:
@@ -115,20 +115,21 @@ void cmExportBuildFileGenerator::SetImportLocationProperty(
|
||||
bool cmExportBuildFileGenerator::CollectExports(
|
||||
std::function<void(cmGeneratorTarget const*)> visitor)
|
||||
{
|
||||
std::vector<TargetExport> targets;
|
||||
this->GetTargets(targets);
|
||||
for (auto const& tei : targets) {
|
||||
auto pred = [&](cmExportBuildFileGenerator::TargetExport& tei) -> bool {
|
||||
cmGeneratorTarget* te = this->LG->FindGeneratorTargetToUse(tei.Name);
|
||||
if (this->ExportedTargets.insert(te).second) {
|
||||
this->Exports.emplace_back(te, tei.XcFrameworkLocation);
|
||||
visitor(te);
|
||||
} else {
|
||||
this->ComplainAboutDuplicateTarget(te->GetName());
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
this->ComplainAboutDuplicateTarget(te->GetName());
|
||||
return false;
|
||||
};
|
||||
|
||||
std::vector<TargetExport> targets;
|
||||
this->GetTargets(targets);
|
||||
return std::all_of(targets.begin(), targets.end(), pred);
|
||||
}
|
||||
|
||||
void cmExportBuildFileGenerator::HandleMissingTarget(
|
||||
|
@@ -2,6 +2,7 @@
|
||||
file Copyright.txt or https://cmake.org/licensing for details. */
|
||||
#include "cmExportInstallFileGenerator.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
#include <memory>
|
||||
@@ -313,18 +314,21 @@ std::string cmExportInstallFileGenerator::GetCxxModuleFile() const
|
||||
bool cmExportInstallFileGenerator::CollectExports(
|
||||
std::function<void(cmTargetExport const*)> const& visitor)
|
||||
{
|
||||
for (auto const& te : this->GetExportSet()->GetTargetExports()) {
|
||||
auto pred = [&](std::unique_ptr<cmTargetExport> const& te) -> bool {
|
||||
if (te->NamelinkOnly) {
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
if (this->ExportedTargets.insert(te->Target).second) {
|
||||
visitor(te.get());
|
||||
} else {
|
||||
this->ComplainAboutDuplicateTarget(te->Target->GetName());
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
this->ComplainAboutDuplicateTarget(te->Target->GetName());
|
||||
return false;
|
||||
};
|
||||
|
||||
auto const& targets = this->GetExportSet()->GetTargetExports();
|
||||
return std::all_of(targets.begin(), targets.end(), pred);
|
||||
}
|
||||
|
||||
bool cmExportInstallFileGenerator::PopulateInterfaceProperties(
|
||||
|
Reference in New Issue
Block a user