소스 검색

Merge topic 'xcode9support'

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

Acked-by: Kitware Robot <[email protected]>
Merge-request: !1054
Brad King 8 년 전
부모
커밋
8ff5aeb7cb
2개의 변경된 파일13개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      Help/release/3.9.rst
  2. 11 0
      Source/cmGlobalXCodeGenerator.cxx

+ 2 - 0
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
 --------
 

+ 11 - 0
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(