summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r--Source/cmGeneratorTarget.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index f507807..ccb6748 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -368,6 +368,16 @@ std::string cmGeneratorTarget::GetExportName() const
return this->GetName();
}
+std::string cmGeneratorTarget::GetFilesystemExportName() const
+{
+ auto fs_safe = this->GetExportName();
+ // First escape any `_` characters to avoid collisions.
+ cmSystemTools::ReplaceString(fs_safe, "_", "__");
+ // Escape other characters that are not generally filesystem-safe.
+ cmSystemTools::ReplaceString(fs_safe, ":", "_c");
+ return fs_safe;
+}
+
cmValue cmGeneratorTarget::GetProperty(const std::string& prop) const
{
if (cmValue result =