Commit 0348383b authored by Harry Mallon's avatar Harry Mallon Committed by Brad King

Xcode: Add "outputPaths" to custom command script build phase

This is needed for Xcode 9's "New Build System", whose release notes
mention "that output must be declared as an explicit output by the
script which generates it" in reference to outputs of custom script
build phases.
parent 25b72e90
......@@ -34,6 +34,8 @@ Generators
This is an experimental feature and can be activated by setting the
:variable:`CMAKE_XCODE_GENERATE_SCHEME` variable to a ``TRUE`` value.
* The :generator:`Xcode` generator now supports Xcode 9.
Commands
--------
......
......@@ -1517,6 +1517,17 @@ void cmGlobalXCodeGenerator::AddCommandsToBuildPhase(
makecmd += " all";
buildphase->AddAttribute("shellScript", this->CreateString(makecmd));
buildphase->AddAttribute("showEnvVarsInLog", this->CreateString("0"));
cmXCodeObject* outputFiles = this->CreateObject(cmXCodeObject::OBJECT_LIST);
for (std::vector<cmCustomCommand>::const_iterator i = commands.begin();
i != commands.end(); ++i) {
std::vector<std::string> const& outputs = i->GetOutputs();
for (std::vector<std::string>::const_iterator j = outputs.begin();
j != outputs.end(); ++j) {
outputFiles->AddObject(this->CreateString(*j));
}
}
buildphase->AddAttribute("outputPaths", outputFiles);
}
void cmGlobalXCodeGenerator::CreateCustomRulesMakefile(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment