summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.h
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2020-01-14 10:55:04 (GMT)
committerTim Blechmann <tim@klingt.org>2020-01-16 03:29:25 (GMT)
commit9d5a554cc9de0ac03d2da7dc95b8ef1db4a526e9 (patch)
treeaa91636887104b6c5a85023fde05373d107abfb1 /Source/cmGlobalGenerator.h
parent23e782ce05b5996536eff4c075d4bc36a8d8ba85 (diff)
downloadCMake-9d5a554cc9de0ac03d2da7dc95b8ef1db4a526e9.zip
CMake-9d5a554cc9de0ac03d2da7dc95b8ef1db4a526e9.tar.gz
CMake-9d5a554cc9de0ac03d2da7dc95b8ef1db4a526e9.tar.bz2
cmGlobalGenerator: Add cache for realpath() results
Cache the results of `realpath()` system calls in `cmGlobalGenerator` to avoid repeating such calls for the same paths over and over.
Diffstat (limited to 'Source/cmGlobalGenerator.h')
-rw-r--r--Source/cmGlobalGenerator.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index f3078ac..4794853 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -485,6 +485,8 @@ public:
configs.emplace_back("$<CONFIG>");
}
+ std::string const& GetRealPath(std::string const& dir);
+
protected:
// for a project collect all its targets by following depend
// information, and also collect all the targets
@@ -676,6 +678,8 @@ private:
mutable std::map<cmSourceFile*, std::set<cmGeneratorTarget const*>>
FilenameTargetDepends;
+ std::map<std::string, std::string> RealPaths;
+
#if !defined(CMAKE_BOOTSTRAP)
// Pool of file locks
cmFileLockPool FileLockPool;