Browse Source

Convert: Extract ConvertToRelativePath from Convert()

Convert() does some kind of relative conversion, followed by a
conversion to 'output format'.

Make it possible to do the former without the latter.
Stephen Kelly 9 years ago
parent
commit
564d3a1dc8
2 changed files with 13 additions and 4 deletions
  1. 11 4
      Source/cmOutputConverter.cxx
  2. 2 0
      Source/cmOutputConverter.h

+ 11 - 4
Source/cmOutputConverter.cxx

@@ -46,11 +46,9 @@ std::string cmOutputConverter::ConvertToOutputForExisting(
   return this->ConvertToOutputFormat(remote, format);
 }
 
-std::string cmOutputConverter::Convert(const std::string& source,
-                                       RelativeRoot relative,
-                                       OutputFormat output) const
+std::string cmOutputConverter::ConvertToRelativePath(
+  const std::string& source, RelativeRoot relative) const
 {
-  // Convert the path to a relative path.
   std::string result = source;
 
   switch (relative) {
@@ -76,6 +74,15 @@ std::string cmOutputConverter::Convert(const std::string& source,
       result = cmSystemTools::CollapseFullPath(result);
       break;
   }
+  return result;
+}
+
+std::string cmOutputConverter::Convert(const std::string& source,
+                                       RelativeRoot relative,
+                                       OutputFormat output) const
+{
+  // Convert the path to a relative path.
+  std::string result = this->ConvertToRelativePath(source, relative);
   return this->ConvertToOutputFormat(result, output);
 }
 

+ 2 - 0
Source/cmOutputConverter.h

@@ -56,6 +56,8 @@ public:
                                     OutputFormat output) const;
   std::string Convert(const std::string& remote, RelativeRoot local,
                       OutputFormat output = UNCHANGED) const;
+  std::string ConvertToRelativePath(const std::string& remote,
+                                    RelativeRoot local) const;
   std::string ConvertDirectorySeparatorsForShell(
     const std::string& source) const;