Переглянути джерело

cmLocalCommonGenerator: Factor out relative path conversion helper

Brad King 4 роки тому
батько
коміт
1879f1bcbc

+ 1 - 2
Source/cmCommonTargetGenerator.cxx

@@ -241,8 +241,7 @@ std::string cmCommonTargetGenerator::GetManifests(const std::string& config)
   manifests.reserve(manifest_srcs.size());
   for (cmSourceFile const* manifest_src : manifest_srcs) {
     manifests.push_back(this->LocalCommonGenerator->ConvertToOutputFormat(
-      this->LocalCommonGenerator->MaybeConvertToRelativePath(
-        this->LocalCommonGenerator->GetWorkingDirectory(),
+      this->LocalCommonGenerator->MaybeRelativeToWorkDir(
         manifest_src->GetFullPath()),
       cmOutputConverter::SHELL));
   }

+ 7 - 2
Source/cmLocalCommonGenerator.cxx

@@ -24,6 +24,12 @@ cmLocalCommonGenerator::cmLocalCommonGenerator(cmGlobalGenerator* gg,
 
 cmLocalCommonGenerator::~cmLocalCommonGenerator() = default;
 
+std::string cmLocalCommonGenerator::MaybeRelativeToWorkDir(
+  std::string const& path) const
+{
+  return this->MaybeConvertToRelativePath(this->WorkingDirectory, path);
+}
+
 std::string cmLocalCommonGenerator::GetTargetFortranFlags(
   cmGeneratorTarget const* target, std::string const& config)
 {
@@ -38,8 +44,7 @@ std::string cmLocalCommonGenerator::GetTargetFortranFlags(
     target->GetFortranModuleDirectory(this->WorkingDirectory);
   if (!mod_dir.empty()) {
     mod_dir = this->ConvertToOutputFormat(
-      this->MaybeConvertToRelativePath(this->WorkingDirectory, mod_dir),
-      cmOutputConverter::SHELL);
+      this->MaybeRelativeToWorkDir(mod_dir), cmOutputConverter::SHELL);
   } else {
     mod_dir =
       this->Makefile->GetSafeDefinition("CMAKE_Fortran_MODDIR_DEFAULT");

+ 2 - 0
Source/cmLocalCommonGenerator.h

@@ -32,6 +32,8 @@ public:
 
   std::string GetWorkingDirectory() const { return this->WorkingDirectory; }
 
+  std::string MaybeRelativeToWorkDir(std::string const& path) const;
+
   std::string GetTargetFortranFlags(cmGeneratorTarget const* target,
                                     std::string const& config) override;