瀏覽代碼

cmake_transform_depfile: Remove unused incomplete vstlog support

In commit b2c14bc774 (cmake -E: Add cmake_transform_depfile internal
command, 2020-10-02, v3.20.0-rc1~684^2~2) a partial implementation for
converting MSBuild "TLog" format files was added.  However, it is
unused and incomplete:

* Does not enforce absolute paths as TLog docs require.
* Does not upper-case paths as TLog docs recommend.
* The TLog format semantics are not equivalent to `out: in`.

Remove the unused TLog transform infrastructure to avoid confusion.

Issue: #20286
Brad King 4 年之前
父節點
當前提交
f0e9d74a2d

+ 0 - 6
Source/cmCustomCommandGenerator.cxx

@@ -227,9 +227,6 @@ cmCustomCommandGenerator::cmCustomCommandGenerator(
       case cmDepfileFormat::GccDepfile:
         argv.emplace_back("gccdepfile");
         break;
-      case cmDepfileFormat::VsTlog:
-        argv.emplace_back("vstlog");
-        break;
       case cmDepfileFormat::MakeDepfile:
         argv.emplace_back("makedepfile");
         break;
@@ -440,9 +437,6 @@ std::string cmCustomCommandGenerator::GetInternalDepfileName(
     case cmDepfileFormat::MakeDepfile:
       extension = ".d";
       break;
-    case cmDepfileFormat::VsTlog:
-      extension = ".tlog";
-      break;
   }
   return cmStrCat(this->LG->GetBinaryDirectory(), "/CMakeFiles/d/",
                   hash.HashString(depfile), extension);

+ 0 - 34
Source/cmTransformDepfile.cxx

@@ -78,37 +78,6 @@ void WriteDepfile(cmDepfileFormat format, cmsys::ofstream& fout,
     }
   }
 }
-
-// tlog format : always windows paths on Windows regardless the generator
-std::string ConvertToTLogOutputPath(const std::string& path)
-{
-#if defined(_WIN32) && !defined(__CYGWIN__)
-  return cmSystemTools::ConvertToWindowsOutputPath(path);
-#else
-  return cmSystemTools::ConvertToOutputPath(path);
-#endif
-}
-
-void WriteVsTlog(cmsys::ofstream& fout, const cmLocalGenerator& lg,
-                 const cmGccDepfileContent& content)
-{
-  for (auto const& dep : content) {
-    fout << '^';
-    bool first = true;
-    for (auto const& rule : dep.rules) {
-      if (!first) {
-        fout << '|';
-      }
-      first = false;
-      fout << ConvertToTLogOutputPath(lg.MaybeRelativeToTopBinDir(rule));
-    }
-    fout << "\r\n";
-    for (auto const& path : dep.paths) {
-      fout << ConvertToTLogOutputPath(lg.MaybeRelativeToTopBinDir(path))
-           << "\r\n";
-    }
-  }
-}
 }
 
 bool cmTransformDepfile(cmDepfileFormat format, const cmLocalGenerator& lg,
@@ -133,9 +102,6 @@ bool cmTransformDepfile(cmDepfileFormat format, const cmLocalGenerator& lg,
     case cmDepfileFormat::MakeDepfile:
       WriteDepfile(format, fout, lg, content);
       break;
-    case cmDepfileFormat::VsTlog:
-      WriteVsTlog(fout, lg, content);
-      break;
   }
   return true;
 }

+ 0 - 1
Source/cmTransformDepfile.h

@@ -7,7 +7,6 @@
 enum class cmDepfileFormat
 {
   GccDepfile,
-  VsTlog,
   MakeDepfile
 };
 

+ 0 - 2
Source/cmcmd.cxx

@@ -1529,8 +1529,6 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string> const& args,
       auto format = cmDepfileFormat::GccDepfile;
       if (args[3] == "gccdepfile") {
         format = cmDepfileFormat::GccDepfile;
-      } else if (args[3] == "vstlog") {
-        format = cmDepfileFormat::VsTlog;
       } else if (args[3] == "makedepfile") {
         format = cmDepfileFormat::MakeDepfile;
       } else {

+ 0 - 4
Tests/RunCMake/TransformDepfile/RunCMakeTest.cmake

@@ -5,10 +5,6 @@ function(run_transform_depfile name)
   run_cmake_command(${name}-gcc
     ${CMAKE_COMMAND} -E cmake_transform_depfile "${RunCMake_GENERATOR}" gccdepfile "${RunCMake_SOURCE_DIR}" "${RunCMake_SOURCE_DIR}/subdir" "${RunCMake_BINARY_DIR}" "${RunCMake_BINARY_DIR}/subdir" "${CMAKE_CURRENT_LIST_DIR}/${name}.d" out.d
     )
-  set(RunCMake-check-file vstlog.cmake)
-  run_cmake_command(${name}-tlog
-    ${CMAKE_COMMAND} -E cmake_transform_depfile "${RunCMake_GENERATOR}" vstlog "${RunCMake_SOURCE_DIR}" "${RunCMake_SOURCE_DIR}/subdir" "${RunCMake_BINARY_DIR}" "${RunCMake_BINARY_DIR}/subdir" "${CMAKE_CURRENT_LIST_DIR}/${name}.d" out.tlog
-    )
 endfunction()
 
 if(WIN32)