Xcode: Prepare schema generator for XCTest

Issue: #16961
This commit is contained in:
Gregor Jasny 2017-06-28 22:04:31 +02:00
parent ff3498e76b
commit 690cf2c1b2
2 changed files with 19 additions and 20 deletions

View File

@ -15,8 +15,6 @@ cmXCodeScheme::cmXCodeScheme(cmXCodeObject* xcObj,
unsigned int xcVersion)
: Target(xcObj)
, TargetName(xcObj->GetTarget()->GetName())
, BuildableName(xcObj->GetTarget()->GetFullName())
, TargetId(xcObj->GetId())
, ConfigList(configList)
, XcodeVersion(xcVersion)
{
@ -84,14 +82,7 @@ void cmXCodeScheme::WriteBuildAction(cmXMLWriter& xout,
xout.Attribute("buildForArchiving", "YES");
xout.Attribute("buildForAnalyzing", "YES");
xout.StartElement("BuildableReference");
xout.BreakAttributes();
xout.Attribute("BuildableIdentifier", "primary");
xout.Attribute("BlueprintIdentifier", this->TargetId);
xout.Attribute("BuildableName", this->BuildableName);
xout.Attribute("BlueprintName", this->TargetName);
xout.Attribute("ReferencedContainer", "container:" + container);
xout.EndElement();
WriteBuildableReference(xout, this->Target, container);
xout.EndElement(); // BuildActionEntry
xout.EndElement(); // BuildActionEntries
@ -146,14 +137,7 @@ void cmXCodeScheme::WriteLaunchAction(cmXMLWriter& xout,
xout.StartElement("MacroExpansion");
}
xout.StartElement("BuildableReference");
xout.BreakAttributes();
xout.Attribute("BuildableIdentifier", "primary");
xout.Attribute("BlueprintIdentifier", this->TargetId);
xout.Attribute("BuildableName", this->BuildableName);
xout.Attribute("BlueprintName", this->TargetName);
xout.Attribute("ReferencedContainer", "container:" + container);
xout.EndElement();
WriteBuildableReference(xout, this->Target, container);
xout.EndElement(); // MacroExpansion
@ -195,6 +179,20 @@ void cmXCodeScheme::WriteArchiveAction(cmXMLWriter& xout,
xout.EndElement();
}
void cmXCodeScheme::WriteBuildableReference(cmXMLWriter& xout,
const cmXCodeObject* xcObj,
const std::string& container)
{
xout.StartElement("BuildableReference");
xout.BreakAttributes();
xout.Attribute("BuildableIdentifier", "primary");
xout.Attribute("BlueprintIdentifier", xcObj->GetId());
xout.Attribute("BuildableName", xcObj->GetTarget()->GetFullName());
xout.Attribute("BlueprintName", xcObj->GetTarget()->GetName());
xout.Attribute("ReferencedContainer", "container:" + container);
xout.EndElement();
}
std::string cmXCodeScheme::WriteVersionString()
{
std::ostringstream v;

View File

@ -26,8 +26,6 @@ public:
private:
const cmXCodeObject* const Target;
const std::string& TargetName;
const std::string BuildableName;
const std::string& TargetId;
const std::vector<std::string>& ConfigList;
const unsigned int XcodeVersion;
@ -41,6 +39,9 @@ private:
void WriteAnalyzeAction(cmXMLWriter& xout, std::string configuration);
void WriteArchiveAction(cmXMLWriter& xout, std::string configuration);
void WriteBuildableReference(cmXMLWriter& xout, const cmXCodeObject* xcObj,
const std::string& container);
std::string WriteVersionString();
std::string FindConfiguration(const std::string& name);