summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkDepends.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-02-10 18:34:33 (GMT)
committerBrad King <brad.king@kitware.com>2020-02-10 21:11:38 (GMT)
commite75632843480aefc303303b85350ecddcc57cc5e (patch)
treee7927962f08b2817b93a6bb945a8238acd0bdfef /Source/cmComputeLinkDepends.h
parent44b8937b7614560d9e88d25456c8394b4b209d51 (diff)
downloadCMake-e75632843480aefc303303b85350ecddcc57cc5e.zip
CMake-e75632843480aefc303303b85350ecddcc57cc5e.tar.gz
CMake-e75632843480aefc303303b85350ecddcc57cc5e.tar.bz2
Propagate backtraces from LINK_LIBRARIES through to link line items
Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces have been collected by `ComputeLinkLibs` by looking back through the link implementation libraries for one matching the text of the link line item. This is slow in projects with long link lines. Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to carry backtrace information explicitly along with the text of each item. Fixes: #20322
Diffstat (limited to 'Source/cmComputeLinkDepends.h')
-rw-r--r--Source/cmComputeLinkDepends.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h
index 645189a..43bfd1d 100644
--- a/Source/cmComputeLinkDepends.h
+++ b/Source/cmComputeLinkDepends.h
@@ -15,6 +15,7 @@
#include "cmGraphAdjacencyList.h"
#include "cmLinkItem.h"
+#include "cmListFileCache.h"
#include "cmTargetLinkLibraryType.h"
class cmComputeComponentGraph;
@@ -39,7 +40,7 @@ public:
// Basic information about each link item.
struct LinkEntry
{
- std::string Item;
+ BT<std::string> Item;
cmGeneratorTarget const* Target = nullptr;
bool IsSharedDep = false;
bool IsFlag = false;