diff options
-rw-r--r-- | Help/release/3.9.rst | 2 | ||||
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 11 |
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( |