summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Cappa <lucappa@microsoft.com>2019-03-05 11:08:09 -0800
committerBrad King <brad.king@kitware.com>2019-03-06 09:37:21 -0500
commit0bf4418017d7d6f653a8e3192a8f628a35587a04 (patch)
treec9f306f04b5c2b664ed19d57434be0596607ad3a
parent20a41aa589d4418f9ac46fc8c0402162d1d82873 (diff)
downloadcmake-0bf4418017d7d6f653a8e3192a8f628a35587a04.tar.gz
VS: Encode newlines in XML attributes
Encode `\n` as `&#10;` to avoid generating a literal newline inside an XML attribute. This is more readable and also fixes custom commands in `.csproj` files with VS 2019 RC. Fixes: #19001
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 8e084172a4..7736e593b7 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -35,6 +35,7 @@ static std::string cmVS10EscapeAttr(std::string arg)
cmSystemTools::ReplaceString(arg, "<", "&lt;");
cmSystemTools::ReplaceString(arg, ">", "&gt;");
cmSystemTools::ReplaceString(arg, "\"", "&quot;");
+ cmSystemTools::ReplaceString(arg, "\n", "&#10;");
return arg;
}