summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/release/3.9.rst2
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx11
2 files changed, 13 insertions, 0 deletions
diff --git a/Help/release/3.9.rst b/Help/release/3.9.rst
index c31f533..f8735a8 100644
--- a/Help/release/3.9.rst
+++ b/Help/release/3.9.rst
@@ -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
--------
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 4be3c80..071d49c 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -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(