diff options
author | Tim Blechmann <tim@klingt.org> | 2020-01-14 10:55:04 (GMT) |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2020-01-16 03:29:25 (GMT) |
commit | 9d5a554cc9de0ac03d2da7dc95b8ef1db4a526e9 (patch) | |
tree | aa91636887104b6c5a85023fde05373d107abfb1 /Source/cmGlobalGenerator.h | |
parent | 23e782ce05b5996536eff4c075d4bc36a8d8ba85 (diff) | |
download | CMake-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.h | 4 |
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; |