mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
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.
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user