Merge topic 'FixBadXMLInEclipseProjects'
79e13af
Add XML escaping for directory name in Eclipse projects (#11658)8074bca
Fix XML escaping for target names in Eclipse project files (#11658)cb94587
Fix XML escaping for the project() name in Eclipse projects (#11658)
This commit is contained in:
commit
7dcf2269ec
|
@ -431,7 +431,8 @@ void cmExtraEclipseCDT4Generator::AppendIncludeDirectories(
|
||||||
{
|
{
|
||||||
emittedDirs.insert(dir);
|
emittedDirs.insert(dir);
|
||||||
fout << "<pathentry include=\""
|
fout << "<pathentry include=\""
|
||||||
<< cmExtraEclipseCDT4Generator::GetEclipsePath(dir)
|
<< cmExtraEclipseCDT4Generator::EscapeForXML(
|
||||||
|
cmExtraEclipseCDT4Generator::GetEclipsePath(dir))
|
||||||
<< "\" kind=\"inc\" path=\"\" system=\"true\"/>\n";
|
<< "\" kind=\"inc\" path=\"\" system=\"true\"/>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -875,8 +876,9 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
fout << "</cconfiguration>\n"
|
fout << "</cconfiguration>\n"
|
||||||
"</storageModule>\n"
|
"</storageModule>\n"
|
||||||
"<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n"
|
"<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n"
|
||||||
"<project id=\"" << mf->GetProjectName() << ".null.1\""
|
"<project id=\"" << this->EscapeForXML(mf->GetProjectName())
|
||||||
" name=\"" << mf->GetProjectName() << "\"/>\n"
|
<< ".null.1\" name=\"" << this->EscapeForXML(mf->GetProjectName())
|
||||||
|
<< "\"/>\n"
|
||||||
"</storageModule>\n"
|
"</storageModule>\n"
|
||||||
"</cproject>\n"
|
"</cproject>\n"
|
||||||
;
|
;
|
||||||
|
@ -927,7 +929,8 @@ cmExtraEclipseCDT4Generator::GenerateProjectName(const std::string& name,
|
||||||
const std::string& type,
|
const std::string& type,
|
||||||
const std::string& path)
|
const std::string& path)
|
||||||
{
|
{
|
||||||
return name + (type.empty() ? "" : "-") + type + "@" + path;
|
return cmExtraEclipseCDT4Generator::EscapeForXML(name)
|
||||||
|
+(type.empty() ? "" : "-") + type + "@" + path;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string cmExtraEclipseCDT4Generator::EscapeForXML(const std::string& value)
|
std::string cmExtraEclipseCDT4Generator::EscapeForXML(const std::string& value)
|
||||||
|
@ -999,15 +1002,17 @@ void cmExtraEclipseCDT4Generator::AppendTarget(cmGeneratedFileStream& fout,
|
||||||
const std::string& path,
|
const std::string& path,
|
||||||
const char* prefix)
|
const char* prefix)
|
||||||
{
|
{
|
||||||
|
std::string targetXml = cmExtraEclipseCDT4Generator::EscapeForXML(target);
|
||||||
|
std::string pathXml = cmExtraEclipseCDT4Generator::EscapeForXML(path);
|
||||||
fout <<
|
fout <<
|
||||||
"<target name=\"" << prefix << target << "\""
|
"<target name=\"" << prefix << targetXml << "\""
|
||||||
" path=\"" << path.c_str() << "\""
|
" path=\"" << pathXml.c_str() << "\""
|
||||||
" targetID=\"org.eclipse.cdt.make.MakeTargetBuilder\">\n"
|
" targetID=\"org.eclipse.cdt.make.MakeTargetBuilder\">\n"
|
||||||
"<buildCommand>"
|
"<buildCommand>"
|
||||||
<< cmExtraEclipseCDT4Generator::GetEclipsePath(make)
|
<< cmExtraEclipseCDT4Generator::GetEclipsePath(make)
|
||||||
<< "</buildCommand>\n"
|
<< "</buildCommand>\n"
|
||||||
"<buildArguments>" << makeArgs << "</buildArguments>\n"
|
"<buildArguments>" << makeArgs << "</buildArguments>\n"
|
||||||
"<buildTarget>" << target << "</buildTarget>\n"
|
"<buildTarget>" << targetXml << "</buildTarget>\n"
|
||||||
"<stopOnError>true</stopOnError>\n"
|
"<stopOnError>true</stopOnError>\n"
|
||||||
"<useDefaultCommand>false</useDefaultCommand>\n"
|
"<useDefaultCommand>false</useDefaultCommand>\n"
|
||||||
"</target>\n"
|
"</target>\n"
|
||||||
|
|
Loading…
Reference in New Issue