summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-07-14 10:40:33 -0400
committerBrad King <brad.king@kitware.com>2017-07-14 10:40:33 -0400
commit68a64478c51ff6feb3eb939517e53ba3de850642 (patch)
treee1fd4b35edca6da567a4f98c7a051824537dd289
parent8c7facd69b63f986d8d35c22d7e40cddc7da9467 (diff)
parent0348383b8ccb943a68cda3ecf1bdd609212ff5ca (diff)
downloadcmake-68a64478c51ff6feb3eb939517e53ba3de850642.tar.gz
Merge branch 'xcode9support' into release-3.9
-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 c31f533986..f8735a8ce1 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 903796123a..3cd14e132a 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(