diff options
author | Brad King <brad.king@kitware.com> | 2018-09-06 17:10:55 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-09-07 12:57:51 (GMT) |
commit | fc7e4d1ed85370d03acbd62bc753cced3550752b (patch) | |
tree | 25e5d5719b2da65398e7d2f0fbc4cb490e4428ff /Source/cmComputeTargetDepends.cxx | |
parent | f782759ed0997eb3d71e1187a829da62668ed5d2 (diff) | |
download | CMake-fc7e4d1ed85370d03acbd62bc753cced3550752b.zip CMake-fc7e4d1ed85370d03acbd62bc753cced3550752b.tar.gz CMake-fc7e4d1ed85370d03acbd62bc753cced3550752b.tar.bz2 |
cmLinkItem: Convert to a "sum type" over a string and target pointer
Avoid exposing the item name implicitly as std::string. When the item
is a target, avoid storing a second copy of its name.
Most link item construction is paired with calls to `FindTargetToLink`
to get the possible target pointer. Rename these methods to
`ResolveLinkItem` and refactor them to construct the entire item.
Diffstat (limited to 'Source/cmComputeTargetDepends.cxx')
-rw-r--r-- | Source/cmComputeTargetDepends.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx index efdd3a5..edda2bd 100644 --- a/Source/cmComputeTargetDepends.cxx +++ b/Source/cmComputeTargetDepends.cxx @@ -229,7 +229,7 @@ void cmComputeTargetDepends::CollectTargetDepends(int depender_index) emitted.insert(depender->GetName()); for (cmLinkImplItem const& lib : impl->Libraries) { // Don't emit the same library twice for this target. - if (emitted.insert(lib).second) { + if (emitted.insert(lib.AsStr()).second) { this->AddTargetDepend(depender_index, lib, true); this->AddInterfaceDepends(depender_index, lib, it, emitted); } @@ -245,7 +245,7 @@ void cmComputeTargetDepends::CollectTargetDepends(int depender_index) emitted.insert(depender->GetName()); for (cmLinkItem const& litem : tutils) { // Don't emit the same utility twice for this target. - if (emitted.insert(litem).second) { + if (emitted.insert(litem.AsStr()).second) { this->AddTargetDepend(depender_index, litem, false); } } @@ -261,7 +261,7 @@ void cmComputeTargetDepends::AddInterfaceDepends( dependee->GetLinkInterface(config, depender)) { for (cmLinkItem const& lib : iface->Libraries) { // Don't emit the same library twice for this target. - if (emitted.insert(lib).second) { + if (emitted.insert(lib.AsStr()).second) { this->AddTargetDepend(depender_index, lib, true); this->AddInterfaceDepends(depender_index, lib, config, emitted); } @@ -324,7 +324,7 @@ void cmComputeTargetDepends::AddTargetDepend(int depender_index, << depender->GetName() << "\" does not exist."; cmListFileBacktrace const* backtrace = - depender->GetUtilityBacktrace(dependee_name); + depender->GetUtilityBacktrace(dependee_name.AsStr()); if (backtrace) { cm->IssueMessage(messageType, e.str(), *backtrace); } else { |