From 2247aca9cf6f9ade027be4b9558d1211647c6c3a Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 7 Jul 2009 11:30:36 -0400 Subject: [PATCH] BUG: Do not recompute link interfaces The config-to-interface map in cmTarget should use case-insensitive configuration names. The change avoids repeating work if the given configuration has a different case than one already computed. --- Source/cmTarget.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ae17b4047..ae0fa87fc 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -3696,8 +3696,9 @@ cmTarget::LinkInterface const* cmTarget::GetLinkInterface(const char* config) } // Lookup any existing link interface for this configuration. + std::string key = cmSystemTools::UpperCase(config? config : ""); cmTargetInternals::LinkInterfaceMapType::iterator - i = this->Internal->LinkInterfaceMap.find(config?config:""); + i = this->Internal->LinkInterfaceMap.find(key); if(i == this->Internal->LinkInterfaceMap.end()) { // Compute the link interface for this configuration. @@ -3705,8 +3706,7 @@ cmTarget::LinkInterface const* cmTarget::GetLinkInterface(const char* config) iface.Exists = this->ComputeLinkInterface(config, iface); // Store the information for this configuration. - cmTargetInternals::LinkInterfaceMapType::value_type - entry(config?config:"", iface); + cmTargetInternals::LinkInterfaceMapType::value_type entry(key, iface); i = this->Internal->LinkInterfaceMap.insert(entry).first; }