VS: Encode mapped flag values in XML project files (#15031)

Teach cmVisualStudioGeneratorOptions to encode FlagMap entries
and the FlagString value properly in vcproj/vcxproj XML files.
Update the one existing call site that pre-encoded the value
to not do so.
This commit is contained in:
Brad King 2014-07-23 14:59:23 -04:00
parent 8fa087ab38
commit 29a0642ba7
2 changed files with 4 additions and 4 deletions

View File

@ -1013,7 +1013,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
if(!this->ModuleDefinitionFile.empty()) if(!this->ModuleDefinitionFile.empty())
{ {
std::string defFile = std::string defFile =
this->ConvertToXMLOutputPath(this->ModuleDefinitionFile.c_str()); this->ConvertToOptionallyRelativeOutputPath(this->ModuleDefinitionFile);
linkOptions.AddFlag("ModuleDefinitionFile", defFile.c_str()); linkOptions.AddFlag("ModuleDefinitionFile", defFile.c_str());
} }
switch(target.GetType()) switch(target.GetType())

View File

@ -321,7 +321,7 @@ cmVisualStudioGeneratorOptions
for(std::vector<std::string>::iterator i = m->second.begin(); for(std::vector<std::string>::iterator i = m->second.begin();
i != m->second.end(); ++i) i != m->second.end(); ++i)
{ {
fout << sep << *i; fout << sep << cmVisualStudio10GeneratorOptionsEscapeForXML(*i);
sep = ";"; sep = ";";
} }
if (m->first == "AdditionalIncludeDirectories") if (m->first == "AdditionalIncludeDirectories")
@ -341,7 +341,7 @@ cmVisualStudioGeneratorOptions
for(std::vector<std::string>::iterator i = m->second.begin(); for(std::vector<std::string>::iterator i = m->second.begin();
i != m->second.end(); ++i) i != m->second.end(); ++i)
{ {
fout << sep << *i; fout << sep << cmVisualStudioGeneratorOptionsEscapeForXML(*i);
sep = ";"; sep = ";";
} }
fout << "\"\n"; fout << "\"\n";
@ -373,7 +373,7 @@ cmVisualStudioGeneratorOptions
{ {
fout << "<AdditionalOptions>"; fout << "<AdditionalOptions>";
} }
fout << this->FlagString.c_str() fout << cmVisualStudio10GeneratorOptionsEscapeForXML(this->FlagString)
<< " %(AdditionalOptions)</AdditionalOptions>\n"; << " %(AdditionalOptions)</AdditionalOptions>\n";
} }
else else