From 4dad5fd20bfa330b3131fd5cafa709d85c1b58ec Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 16 Jun 2014 10:55:33 -0400 Subject: [PATCH] cmTarget: Add cmLinkItem to refer to a target by name and pointer Many items named in target_link_libraries calls are targets, but not all. Create a cmLinkItem type that acts like std::string so it can name an item but also has a pointer to a cmTarget that is the result of looking up the item name in the referencing target's scope. This will be useful to avoid duplicate lookup operations later. --- Source/cmTarget.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 049d3ea863..97c8bf0838 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -43,6 +43,18 @@ class cmTarget; class cmGeneratorTarget; class cmTargetTraceDependencies; +// Basic information about each link item. +class cmLinkItem: public std::string +{ + typedef std::string std_string; +public: + cmLinkItem(): std_string(), Target(0) {} + cmLinkItem(const std_string& n, + cmTarget const* t): std_string(n), Target(t) {} + cmLinkItem(cmLinkItem const& r): std_string(r), Target(r.Target) {} + cmTarget const* Target; +}; + struct cmTargetLinkInformationMap: public std::map {