From a13a5c948e3e530716efaae0f56d9d9766c5d315 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Tue, 19 Mar 2019 09:56:04 -0400
Subject: Replace use of CollapseCombinedPath with CollapseFullPath

`CollapseCombinedPath` was introduced by commit 551d3343cd (cmDependsC:
Collapse relative include paths, 2013-06-19, v2.8.12~237^2) where the
existing `CollapseFullPath` should have been used instead.  Then its use
proliferated slightly.  Since `CollapseCombinedPath` is less widely used
and less robust (see issue #19049), use `CollapseFullPath` everywhere
instead.

Issue: #19050
---
 Source/CPack/cmCPackDebGenerator.cxx     | 2 +-
 Source/CPack/cmCPackFreeBSDGenerator.cxx | 3 +--
 Source/cmDependsC.cxx                    | 4 ++--
 Source/cmGhsMultiTargetGenerator.cxx     | 2 +-
 Source/cmGlobalGhsMultiGenerator.cxx     | 3 +--
 Source/cmQtAutoGen.cxx                   | 2 +-
 Source/cmQtAutoGenerator.cxx             | 6 +++---
 Source/cmQtAutoGenerator.h               | 6 +++---
 Source/cmQtAutoGeneratorMocUic.cxx       | 2 +-
 9 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx
index 635de49..cfb5efd 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -195,7 +195,7 @@ bool DebGenerator::generateDataTar() const
       // XXX/application/usr/bin/myprogram with GEN_WDIR=XXX/application
       // should not add XXX/application
       orderedFiles.insert(currentPath);
-      currentPath = cmSystemTools::CollapseCombinedPath(currentPath, "..");
+      currentPath = cmSystemTools::CollapseFullPath("..", currentPath);
     }
   }
 
diff --git a/Source/CPack/cmCPackFreeBSDGenerator.cxx b/Source/CPack/cmCPackFreeBSDGenerator.cxx
index fcf8af1..dd8127d 100644
--- a/Source/CPack/cmCPackFreeBSDGenerator.cxx
+++ b/Source/CPack/cmCPackFreeBSDGenerator.cxx
@@ -325,8 +325,7 @@ int cmCPackFreeBSDGenerator::PackageFiles()
                              ONE_PACKAGE_PER_COMPONENT);
   }
 
-  std::string output_dir =
-    cmSystemTools::CollapseCombinedPath(toplevel, "../");
+  std::string output_dir = cmSystemTools::CollapseFullPath("../", toplevel);
   pkg_create_from_manifest(output_dir.c_str(), ::TXZ, toplevel.c_str(),
                            manifestname.c_str(), nullptr);
 
diff --git a/Source/cmDependsC.cxx b/Source/cmDependsC.cxx
index 58b4ebb..7b78767 100644
--- a/Source/cmDependsC.cxx
+++ b/Source/cmDependsC.cxx
@@ -150,7 +150,7 @@ bool cmDependsC::WriteDependencies(const std::set<std::string>& sources,
             // Construct the name of the file as if it were in the current
             // include directory.  Avoid using a leading "./".
             std::string tmpPath =
-              cmSystemTools::CollapseCombinedPath(iPath, current.FileName);
+              cmSystemTools::CollapseFullPath(current.FileName, iPath);
 
             // Look for the file in this location.
             if (cmSystemTools::FileExists(tmpPath, true)) {
@@ -362,7 +362,7 @@ void cmDependsC::Scan(std::istream& is, const std::string& directory,
         // must check for the file in the directory containing the
         // file we are scanning.
         entry.QuotedLocation =
-          cmSystemTools::CollapseCombinedPath(directory, entry.FileName);
+          cmSystemTools::CollapseFullPath(entry.FileName, directory);
       }
 
       // Queue the file if it has not yet been encountered and it
diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx
index 9f8f12b..c73ec70 100644
--- a/Source/cmGhsMultiTargetGenerator.cxx
+++ b/Source/cmGhsMultiTargetGenerator.cxx
@@ -287,7 +287,7 @@ void cmGhsMultiTargetGenerator::WriteTargetLinkLine(std::ostream& fout,
     if (l.compare(0, 2, "-l") == 0) {
       fout << "    \"" << l << "\"" << std::endl;
     } else {
-      std::string rl = cmSystemTools::CollapseCombinedPath(cbd, l);
+      std::string rl = cmSystemTools::CollapseFullPath(l, cbd);
       fout << "    -l\"" << rl << "\"" << std::endl;
     }
   }
diff --git a/Source/cmGlobalGhsMultiGenerator.cxx b/Source/cmGlobalGhsMultiGenerator.cxx
index 4f1d06a..dba9afa 100644
--- a/Source/cmGlobalGhsMultiGenerator.cxx
+++ b/Source/cmGlobalGhsMultiGenerator.cxx
@@ -185,8 +185,7 @@ void cmGlobalGhsMultiGenerator::GetToolset(cmMakefile* mf, std::string& tsd,
     }
   } else {
     std::string tryPath;
-    /* CollapseCombinedPath will check if ts is an absolute path */
-    tryPath = cmSystemTools::CollapseCombinedPath(tsd, ts);
+    tryPath = cmSystemTools::CollapseFullPath(ts, tsd);
     if (!cmSystemTools::FileExists(tryPath)) {
       std::string msg = "GHS toolset \"" + tryPath + "\" not found.";
       cmSystemTools::Error(msg);
diff --git a/Source/cmQtAutoGen.cxx b/Source/cmQtAutoGen.cxx
index 022947f..87ef112 100644
--- a/Source/cmQtAutoGen.cxx
+++ b/Source/cmQtAutoGen.cxx
@@ -309,7 +309,7 @@ void cmQtAutoGen::RccListConvertFullPath(std::string const& qrcFileDir,
                                          std::vector<std::string>& files)
 {
   for (std::string& entry : files) {
-    std::string tmp = cmSystemTools::CollapseCombinedPath(qrcFileDir, entry);
+    std::string tmp = cmSystemTools::CollapseFullPath(entry, qrcFileDir);
     entry = std::move(tmp);
   }
 }
diff --git a/Source/cmQtAutoGenerator.cxx b/Source/cmQtAutoGenerator.cxx
index af50c1d..a1abd3f 100644
--- a/Source/cmQtAutoGenerator.cxx
+++ b/Source/cmQtAutoGenerator.cxx
@@ -158,11 +158,11 @@ std::string cmQtAutoGenerator::FileSystem::GetRealPath(
   return cmSystemTools::GetRealPath(filename);
 }
 
-std::string cmQtAutoGenerator::FileSystem::CollapseCombinedPath(
-  std::string const& dir, std::string const& file)
+std::string cmQtAutoGenerator::FileSystem::CollapseFullPath(
+  std::string const& file, std::string const& dir)
 {
   std::lock_guard<std::mutex> lock(Mutex_);
-  return cmSystemTools::CollapseCombinedPath(dir, file);
+  return cmSystemTools::CollapseFullPath(file, dir);
 }
 
 void cmQtAutoGenerator::FileSystem::SplitPath(
diff --git a/Source/cmQtAutoGenerator.h b/Source/cmQtAutoGenerator.h
index 6771dd8..b55bebc 100644
--- a/Source/cmQtAutoGenerator.h
+++ b/Source/cmQtAutoGenerator.h
@@ -77,9 +77,9 @@ public:
     // -- Paths
     /// @brief Wrapper for cmSystemTools::GetRealPath
     std::string GetRealPath(std::string const& filename);
-    /// @brief Wrapper for cmSystemTools::CollapseCombinedPath
-    std::string CollapseCombinedPath(std::string const& dir,
-                                     std::string const& file);
+    /// @brief Wrapper for cmSystemTools::CollapseFullPath
+    std::string CollapseFullPath(std::string const& file,
+                                 std::string const& dir);
     /// @brief Wrapper for cmSystemTools::SplitPath
     void SplitPath(const std::string& p, std::vector<std::string>& components,
                    bool expand_home_dir = true);
diff --git a/Source/cmQtAutoGeneratorMocUic.cxx b/Source/cmQtAutoGeneratorMocUic.cxx
index b02cd44..cb6f7ea 100644
--- a/Source/cmQtAutoGeneratorMocUic.cxx
+++ b/Source/cmQtAutoGeneratorMocUic.cxx
@@ -27,7 +27,7 @@
 std::string cmQtAutoGeneratorMocUic::BaseSettingsT::AbsoluteBuildPath(
   std::string const& relativePath) const
 {
-  return FileSys->CollapseCombinedPath(AutogenBuildDir, relativePath);
+  return FileSys->CollapseFullPath(relativePath, AutogenBuildDir);
 }
 
 /**
-- 
cgit v0.12