diff options
author | Brad King <brad.king@kitware.com> | 2021-09-21 15:06:04 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-09-21 15:06:25 (GMT) |
commit | 62834c07603e82aafabc082bbbcf74179a4cda27 (patch) | |
tree | 01d7c3f0608bb8a8fe9c53b0a23a9dcbd5b33ab4 /Source/cmGeneratorTarget.cxx | |
parent | b0b689d5660f8f6d2a05bf070b2c72ddf3091b75 (diff) | |
parent | 2266e223c56be365cadfdf9f394009c095a37c8b (diff) | |
download | CMake-62834c07603e82aafabc082bbbcf74179a4cda27.zip CMake-62834c07603e82aafabc082bbbcf74179a4cda27.tar.gz CMake-62834c07603e82aafabc082bbbcf74179a4cda27.tar.bz2 |
Merge topic 'macos-cache-rpath-install-namedir'
2266e223c5 macOS: Speed up rpath install name dir lookup with a cache
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6543
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index d52dfaf..f80b4d9 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -2170,6 +2170,21 @@ bool cmGeneratorTarget::IsImportedSharedLibWithoutSOName( bool cmGeneratorTarget::HasMacOSXRpathInstallNameDir( const std::string& config) const { + TargetPtrToBoolMap& cache = this->MacOSXRpathInstallNameDirCache[config]; + const auto lookup = cache.find(this->Target); + + if (lookup != cache.cend()) { + return lookup->second; + } + + const bool result = this->DetermineHasMacOSXRpathInstallNameDir(config); + cache[this->Target] = result; + return result; +} + +bool cmGeneratorTarget::DetermineHasMacOSXRpathInstallNameDir( + const std::string& config) const +{ bool install_name_is_rpath = false; bool macosx_rpath = false; |