summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorLukas Böger <mail@lboeger.de>2021-09-19 16:15:21 (GMT)
committerBrad King <brad.king@kitware.com>2021-09-20 15:15:25 (GMT)
commit2266e223c56be365cadfdf9f394009c095a37c8b (patch)
treed7d3543ce07ffc3efcde31fce18dd5f1d62e2726 /Source/cmGeneratorTarget.h
parent96c38493849f05724ec5c2b2e0152c5c86c3b5b0 (diff)
downloadCMake-2266e223c56be365cadfdf9f394009c095a37c8b.zip
CMake-2266e223c56be365cadfdf9f394009c095a37c8b.tar.gz
CMake-2266e223c56be365cadfdf9f394009c095a37c8b.tar.bz2
macOS: Speed up rpath install name dir lookup with a cache
Fixes: #20602
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 0076085..85b4ea0 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -866,6 +866,11 @@ private:
mutable std::map<cmSourceFile const*, std::string> Objects;
std::set<cmSourceFile const*> ExplicitObjectName;
+ using TargetPtrToBoolMap = std::unordered_map<cmTarget*, bool>;
+ mutable std::unordered_map<std::string, TargetPtrToBoolMap>
+ MacOSXRpathInstallNameDirCache;
+ bool DetermineHasMacOSXRpathInstallNameDir(const std::string& config) const;
+
// "config/language" is the key
mutable std::map<std::string, std::vector<std::string>> SystemIncludesCache;