summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-05-20 14:36:58 -0400
committerBrad King <brad.king@kitware.com>2021-05-25 10:48:25 -0400
commit18408c0b88423a40d239705eb28b65b481cf0973 (patch)
tree4b0aa8c88cf954f0853af9d35f950169bb9c9180 /Source
parentefb8d7b4a1d82f2ce4bb01f200367679a6dc46c4 (diff)
downloadcmake-18408c0b88423a40d239705eb28b65b481cf0973.tar.gz
cmGlobalNinjaGenerator: Add helper to compute absolute paths for build.ninja
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx9
-rw-r--r--Source/cmGlobalNinjaGenerator.h1
-rw-r--r--Source/cmNinjaTargetGenerator.h5
3 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 6034434e2c..09cbaec999 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/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)
{
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 7a3674e76f..bb4ce2bf20 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/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
{
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index daf7817620..4b4cf8d361 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/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,