From 54add62f1b36ffc25f333762901e14b2def21db2 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Fri, 20 Jul 2012 13:30:30 -0400
Subject: find_library: Simplify lib->lib<arch> expansion

Simplify cmFindLibraryCommand::AddArchitecturePaths logic to avoid
recording a separate 'found' status and populating an entire
vector<string> just to throw it away.
---
 Source/cmFindLibraryCommand.cxx | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index 688d8a7..06216cd 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -132,44 +132,36 @@ bool cmFindLibraryCommand
 //----------------------------------------------------------------------------
 void cmFindLibraryCommand::AddArchitecturePaths(const char* suffix)
 {
-  std::vector<std::string> newPaths;
-  bool found = false;
+  std::vector<std::string> original;
+  original.swap(this->SearchPaths);
   std::string subpath = "lib";
   subpath += suffix;
   subpath += "/";
-  for(std::vector<std::string>::iterator i = this->SearchPaths.begin();
-      i != this->SearchPaths.end(); ++i)
+  for(std::vector<std::string>::iterator i = original.begin();
+      i != original.end(); ++i)
     {
     // Try replacing lib/ with lib<suffix>/
     std::string s = *i;
     cmSystemTools::ReplaceString(s, "lib/", subpath.c_str());
     if((s != *i) && cmSystemTools::FileIsDirectory(s.c_str()))
       {
-      found = true;
-      newPaths.push_back(s);
+      this->SearchPaths.push_back(s);
       }
 
-    // Now look for lib<suffix>
+    // Now look for <original><suffix>/
     s = *i;
     s += suffix;
     s += "/";
     if(cmSystemTools::FileIsDirectory(s.c_str()))
       {
-      found = true;
-      newPaths.push_back(s);
+      this->SearchPaths.push_back(s);
       }
-    // now add the original unchanged path
+    // Now add the original unchanged path
     if(cmSystemTools::FileIsDirectory(i->c_str()))
       {
-      newPaths.push_back(*i);
+      this->SearchPaths.push_back(*i);
       }
     }
-
-  // If any new paths were found replace the original set.
-  if(found)
-    {
-    this->SearchPaths = newPaths;
-    }
 }
 
 //----------------------------------------------------------------------------
-- 
cgit v0.12