summaryrefslogtreecommitdiffstats
path: root/Source/cmCommonTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-11-14 20:41:17 (GMT)
committerBrad King <brad.king@kitware.com>2023-11-14 20:42:07 (GMT)
commitd7988ff6b8c10c2c233fc52a65fecebaa0bd2a23 (patch)
treec9af7823678c63705d65d4dbe3e732f07e99c56e /Source/cmCommonTargetGenerator.cxx
parent1814853081b871dc04e20e0debb2d41055e5cb5c (diff)
parent50fdaf8f1f6e34d9362b679df0a26d6bbf77c0ba (diff)
downloadCMake-d7988ff6b8c10c2c233fc52a65fecebaa0bd2a23.zip
CMake-d7988ff6b8c10c2c233fc52a65fecebaa0bd2a23.tar.gz
CMake-d7988ff6b8c10c2c233fc52a65fecebaa0bd2a23.tar.bz2
Merge branch 'backport-target-objects' into target-objects
Diffstat (limited to 'Source/cmCommonTargetGenerator.cxx')
-rw-r--r--Source/cmCommonTargetGenerator.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index 23176df..a29dd76 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -171,8 +171,8 @@ std::vector<std::string> cmCommonTargetGenerator::GetLinkedTargetDirectories(
cmGlobalCommonGenerator* const gg = this->GlobalCommonGenerator;
if (cmComputeLinkInformation* cli =
this->GeneratorTarget->GetLinkInformation(config)) {
- for (auto const& item : cli->GetItems()) {
- auto const* linkee = item.Target;
+ auto addLinkedTarget = [this, &lang, &config, &dirs, &emitted,
+ gg](cmGeneratorTarget const* linkee) {
if (linkee &&
!linkee->IsImported()
// Skip targets that build after this one in a static lib cycle.
@@ -194,6 +194,12 @@ std::vector<std::string> cmCommonTargetGenerator::GetLinkedTargetDirectories(
}
dirs.push_back(std::move(di));
}
+ };
+ for (auto const& item : cli->GetItems()) {
+ addLinkedTarget(item.Target);
+ }
+ for (cmGeneratorTarget const* target : cli->GetExternalObjectTargets()) {
+ addLinkedTarget(target);
}
}
return dirs;