Browse Source

Autogen: Protected calls to cmSystemTools::Split/JoinPath

Sebastian Holtermann 7 years ago
parent
commit
65203ce407
3 changed files with 33 additions and 2 deletions
  1. 23 0
      Source/cmQtAutoGenerator.cxx
  2. 8 0
      Source/cmQtAutoGenerator.h
  3. 2 2
      Source/cmQtAutoGeneratorMocUic.cxx

+ 23 - 0
Source/cmQtAutoGenerator.cxx

@@ -160,6 +160,29 @@ std::string cmQtAutoGenerator::FileSystem::CollapseCombinedPath(
   return cmSystemTools::CollapseCombinedPath(dir, file);
 }
 
+void cmQtAutoGenerator::FileSystem::SplitPath(
+  const std::string& p, std::vector<std::string>& components,
+  bool expand_home_dir)
+{
+  std::lock_guard<std::mutex> lock(Mutex_);
+  cmSystemTools::SplitPath(p, components, expand_home_dir);
+}
+
+std::string cmQtAutoGenerator::FileSystem::JoinPath(
+  const std::vector<std::string>& components)
+{
+  std::lock_guard<std::mutex> lock(Mutex_);
+  return cmSystemTools::JoinPath(components);
+}
+
+std::string cmQtAutoGenerator::FileSystem::JoinPath(
+  std::vector<std::string>::const_iterator first,
+  std::vector<std::string>::const_iterator last)
+{
+  std::lock_guard<std::mutex> lock(Mutex_);
+  return cmSystemTools::JoinPath(first, last);
+}
+
 bool cmQtAutoGenerator::FileSystem::FileExists(std::string const& filename)
 {
   std::lock_guard<std::mutex> lock(Mutex_);

+ 8 - 0
Source/cmQtAutoGenerator.h

@@ -77,6 +77,14 @@ public:
     /// @brief Wrapper for cmSystemTools::CollapseCombinedPath
     std::string CollapseCombinedPath(std::string const& dir,
                                      std::string const& file);
+    /// @brief Wrapper for cmSystemTools::SplitPath
+    void SplitPath(const std::string& p, std::vector<std::string>& components,
+                   bool expand_home_dir = true);
+    /// @brief Wrapper for cmSystemTools::JoinPath
+    std::string JoinPath(const std::vector<std::string>& components);
+    /// @brief Wrapper for cmSystemTools::JoinPath
+    std::string JoinPath(std::vector<std::string>::const_iterator first,
+                         std::vector<std::string>::const_iterator last);
 
     // -- File access
     bool FileExists(std::string const& filename);

+ 2 - 2
Source/cmQtAutoGeneratorMocUic.cxx

@@ -1503,8 +1503,8 @@ bool cmQtAutoGeneratorMocUic::Init(cmMakefile* makefile)
         if (cmHasLiteralSuffix(path, ".framework/Headers")) {
           // Go up twice to get to the framework root
           std::vector<std::string> pathComponents;
-          cmSystemTools::SplitPath(path, pathComponents);
-          std::string frameworkPath = cmSystemTools::JoinPath(
+          FileSys().SplitPath(path, pathComponents);
+          std::string frameworkPath = FileSys().JoinPath(
             pathComponents.begin(), pathComponents.end() - 2);
           frameworkPaths.insert(frameworkPath);
         }