diff options
author | Brad King <brad.king@kitware.com> | 2008-09-15 17:30:07 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-09-15 17:30:07 (GMT) |
commit | 0fe06c812660cd2e030b9f7f53e5e06a27d96f27 (patch) | |
tree | 85d534a091cce543b4e08f34b1f8c5fc99adad86 | |
parent | 76c5697a16245450af9ae7e510cb1a66cce1ab94 (diff) | |
download | CMake-0fe06c812660cd2e030b9f7f53e5e06a27d96f27.zip CMake-0fe06c812660cd2e030b9f7f53e5e06a27d96f27.tar.gz CMake-0fe06c812660cd2e030b9f7f53e5e06a27d96f27.tar.bz2 |
ENH: Keep target information in final link line
In cmComputeLinkInformation items in the final link line returned by
GetItems now contain a pointer to their corresponding cmTarget if they
were produced by a target. This makes available the set of all targets
linked.
-rw-r--r-- | Source/cmComputeLinkInformation.cxx | 4 | ||||
-rw-r--r-- | Source/cmComputeLinkInformation.h | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx index 0b02ae1..331e3fd 100644 --- a/Source/cmComputeLinkInformation.cxx +++ b/Source/cmComputeLinkInformation.cxx @@ -594,7 +594,7 @@ void cmComputeLinkInformation::AddItem(std::string const& item, cmTarget* tgt) std::string exe = tgt->GetFullPath(config, this->UseImportLibrary, true); linkItem += exe; - this->Items.push_back(Item(linkItem, true)); + this->Items.push_back(Item(linkItem, true, tgt)); this->Depends.push_back(exe); } else @@ -1020,7 +1020,7 @@ void cmComputeLinkInformation::AddTargetItem(std::string const& item, } // Now add the full path to the library. - this->Items.push_back(Item(item, true)); + this->Items.push_back(Item(item, true, target)); } //---------------------------------------------------------------------------- diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h index 0ce47bf..147b8ff 100644 --- a/Source/cmComputeLinkInformation.h +++ b/Source/cmComputeLinkInformation.h @@ -40,11 +40,14 @@ public: struct Item { - Item(): Value(), IsPath(true) {} - Item(Item const& item): Value(item.Value), IsPath(item.IsPath) {} - Item(std::string const& v, bool p): Value(v), IsPath(p) {} + Item(): Value(), IsPath(true), Target(0) {} + Item(Item const& item): + Value(item.Value), IsPath(item.IsPath), Target(item.Target) {} + Item(std::string const& v, bool p, cmTarget* target = 0): + Value(v), IsPath(p), Target(target) {} std::string Value; bool IsPath; + cmTarget* Target; }; typedef std::vector<Item> ItemVector; ItemVector const& GetItems(); |