소스 검색

cmGlobalNinjaGenerator: Add helper to compute absolute paths for build.ninja

Brad King 4 년 전
부모
커밋
18408c0b88
3개의 변경된 파일15개의 추가작업 그리고 0개의 파일을 삭제
  1. 9 0
      Source/cmGlobalNinjaGenerator.cxx
  2. 1 0
      Source/cmGlobalNinjaGenerator.h
  3. 5 0
      Source/cmNinjaTargetGenerator.h

+ 9 - 0
Source/cmGlobalNinjaGenerator.cxx

@@ -1160,6 +1160,15 @@ std::string const& cmGlobalNinjaGenerator::ConvertToNinjaPath(
     .first->second;
 }
 
+std::string cmGlobalNinjaGenerator::ConvertToNinjaAbsPath(
+  std::string path) const
+{
+#ifdef _WIN32
+  std::replace(path.begin(), path.end(), '/', '\\');
+#endif
+  return path;
+}
+
 void cmGlobalNinjaGenerator::AddAdditionalCleanFile(std::string fileName,
                                                     const std::string& config)
 {

+ 1 - 0
Source/cmGlobalNinjaGenerator.h

@@ -261,6 +261,7 @@ public:
   }
 
   std::string const& ConvertToNinjaPath(const std::string& path) const;
+  std::string ConvertToNinjaAbsPath(std::string path) const;
 
   struct MapToNinjaPathImpl
   {

+ 5 - 0
Source/cmNinjaTargetGenerator.h

@@ -110,6 +110,11 @@ protected:
     return this->GetGlobalGenerator()->MapToNinjaPath();
   }
 
+  std::string ConvertToNinjaAbsPath(std::string path) const
+  {
+    return this->GetGlobalGenerator()->ConvertToNinjaAbsPath(std::move(path));
+  }
+
   /// @return the list of link dependency for the given target @a target.
   cmNinjaDeps ComputeLinkDeps(const std::string& linkLanguage,
                               const std::string& config,