[Cmake-commits] CMake branch, master, updated. v3.9.3-1046-gdb730f3

Kitware Robot kwrobot at kitware.com
Mon Oct 2 10:45:04 EDT 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  db730f3e5092bbfcd1cee8c0cdf5150c88fb65b3 (commit)
       via  23ad08dd6ce092f1ae7eff168bb2e0189a5dce9c (commit)
      from  32a54d23c0f1315a3593fd6efa073b8c7b33daae (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=db730f3e5092bbfcd1cee8c0cdf5150c88fb65b3
commit db730f3e5092bbfcd1cee8c0cdf5150c88fb65b3
Merge: 32a54d2 23ad08d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 2 14:37:05 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Oct 2 10:37:42 2017 -0400

    Merge topic 'file-path-checksum-cpp11'
    
    23ad08dd Migrate cmFilePathChecksum to C++11
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1334


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=23ad08dd6ce092f1ae7eff168bb2e0189a5dce9c
commit 23ad08dd6ce092f1ae7eff168bb2e0189a5dce9c
Author:     Sebastian Holtermann <sebholt at xwmw.org>
AuthorDate: Sun Oct 1 12:02:10 2017 +0200
Commit:     Sebastian Holtermann <sebholt at xwmw.org>
CommitDate: Sun Oct 1 12:03:36 2017 +0200

    Migrate cmFilePathChecksum to C++11

diff --git a/Source/cmFilePathChecksum.cxx b/Source/cmFilePathChecksum.cxx
index 62f52e5..f9afeef 100644
--- a/Source/cmFilePathChecksum.cxx
+++ b/Source/cmFilePathChecksum.cxx
@@ -13,10 +13,10 @@ cmFilePathChecksum::cmFilePathChecksum()
 {
 }
 
-cmFilePathChecksum::cmFilePathChecksum(const std::string& currentSrcDir,
-                                       const std::string& currentBinDir,
-                                       const std::string& projectSrcDir,
-                                       const std::string& projectBinDir)
+cmFilePathChecksum::cmFilePathChecksum(std::string const& currentSrcDir,
+                                       std::string const& currentBinDir,
+                                       std::string const& projectSrcDir,
+                                       std::string const& projectBinDir)
 {
   setupParentDirs(currentSrcDir, currentBinDir, projectSrcDir, projectBinDir);
 }
@@ -29,36 +29,35 @@ cmFilePathChecksum::cmFilePathChecksum(cmMakefile* makefile)
                   makefile->GetHomeOutputDirectory());
 }
 
-void cmFilePathChecksum::setupParentDirs(const std::string& currentSrcDir,
-                                         const std::string& currentBinDir,
-                                         const std::string& projectSrcDir,
-                                         const std::string& projectBinDir)
+void cmFilePathChecksum::setupParentDirs(std::string const& currentSrcDir,
+                                         std::string const& currentBinDir,
+                                         std::string const& projectSrcDir,
+                                         std::string const& projectBinDir)
 {
-  parentDirs[0].first = cmsys::SystemTools::GetRealPath(currentSrcDir);
-  parentDirs[1].first = cmsys::SystemTools::GetRealPath(currentBinDir);
-  parentDirs[2].first = cmsys::SystemTools::GetRealPath(projectSrcDir);
-  parentDirs[3].first = cmsys::SystemTools::GetRealPath(projectBinDir);
+  this->parentDirs[0].first = cmsys::SystemTools::GetRealPath(currentSrcDir);
+  this->parentDirs[1].first = cmsys::SystemTools::GetRealPath(currentBinDir);
+  this->parentDirs[2].first = cmsys::SystemTools::GetRealPath(projectSrcDir);
+  this->parentDirs[3].first = cmsys::SystemTools::GetRealPath(projectBinDir);
 
-  parentDirs[0].second = "CurrentSource";
-  parentDirs[1].second = "CurrentBinary";
-  parentDirs[2].second = "ProjectSource";
-  parentDirs[3].second = "ProjectBinary";
+  this->parentDirs[0].second = "CurrentSource";
+  this->parentDirs[1].second = "CurrentBinary";
+  this->parentDirs[2].second = "ProjectSource";
+  this->parentDirs[3].second = "ProjectBinary";
 }
 
-std::string cmFilePathChecksum::get(const std::string& filePath) const
+std::string cmFilePathChecksum::get(std::string const& filePath) const
 {
   std::string relPath;
   std::string relSeed;
   {
-    const std::string fileReal = cmsys::SystemTools::GetRealPath(filePath);
+    std::string const fileReal = cmsys::SystemTools::GetRealPath(filePath);
     std::string parentDir;
     // Find closest project parent directory
-    for (size_t ii = 0; ii != numParentDirs; ++ii) {
-      const std::string& pDir = parentDirs[ii].first;
-      if (!pDir.empty() &&
-          cmsys::SystemTools::IsSubDirectory(fileReal, pDir)) {
-        relSeed = parentDirs[ii].second;
-        parentDir = pDir;
+    for (auto const& pDir : this->parentDirs) {
+      if (!pDir.first.empty() &&
+          cmsys::SystemTools::IsSubDirectory(fileReal, pDir.first)) {
+        parentDir = pDir.first;
+        relSeed = pDir.second;
         break;
       }
     }
@@ -77,11 +76,11 @@ std::string cmFilePathChecksum::get(const std::string& filePath) const
     cmCryptoHash(cmCryptoHash::AlgoSHA256).ByteHashString(relSeed + relPath);
 
   // Convert binary checksum to string
-  return cmBase32Encoder().encodeString(&hashBytes[0], hashBytes.size(),
+  return cmBase32Encoder().encodeString(&hashBytes.front(), hashBytes.size(),
                                         false);
 }
 
-std::string cmFilePathChecksum::getPart(const std::string& filePath,
+std::string cmFilePathChecksum::getPart(std::string const& filePath,
                                         size_t length) const
 {
   return get(filePath).substr(0, length);
diff --git a/Source/cmFilePathChecksum.h b/Source/cmFilePathChecksum.h
index 9d570eb..48b5da0 100644
--- a/Source/cmFilePathChecksum.h
+++ b/Source/cmFilePathChecksum.h
@@ -5,6 +5,7 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
+#include <array>
 #include <stddef.h>
 #include <string>
 #include <utility>
@@ -29,37 +30,35 @@ public:
   cmFilePathChecksum();
 
   /// @brief Initilizes the parent directories manually
-  cmFilePathChecksum(const std::string& currentSrcDir,
-                     const std::string& currentBinDir,
-                     const std::string& projectSrcDir,
-                     const std::string& projectBinDir);
+  cmFilePathChecksum(std::string const& currentSrcDir,
+                     std::string const& currentBinDir,
+                     std::string const& projectSrcDir,
+                     std::string const& projectBinDir);
 
   /// @brief Initilizes the parent directories from a makefile
   cmFilePathChecksum(cmMakefile* makefile);
 
   /// @brief Allows parent directories setup after construction
   ///
-  void setupParentDirs(const std::string& currentSrcDir,
-                       const std::string& currentBinDir,
-                       const std::string& projectSrcDir,
-                       const std::string& projectBinDir);
+  void setupParentDirs(std::string const& currentSrcDir,
+                       std::string const& currentBinDir,
+                       std::string const& projectSrcDir,
+                       std::string const& projectBinDir);
 
   /* @brief Calculates the path checksum for the parent directory of a file
    *
    */
-  std::string get(const std::string& filePath) const;
+  std::string get(std::string const& filePath) const;
 
   /* @brief Same as get() but returns only the first length characters
    *
    */
-  std::string getPart(const std::string& filePath,
+  std::string getPart(std::string const& filePath,
                       size_t length = partLengthDefault) const;
 
 private:
-  /// Size of the parent directory list
-  static const size_t numParentDirs = 4;
   /// List of (directory name, seed name) pairs
-  std::pair<std::string, std::string> parentDirs[numParentDirs];
+  std::array<std::pair<std::string, std::string>, 4> parentDirs;
 };
 
 #endif

-----------------------------------------------------------------------

Summary of changes:
 Source/cmFilePathChecksum.cxx |   51 ++++++++++++++++++++---------------------
 Source/cmFilePathChecksum.h   |   25 ++++++++++----------
 2 files changed, 37 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list