| 5138 | } |
| 5139 | |
| 5140 | void cmGlobalXCodeGenerator::OutputXCodeProject( |
| 5141 | cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators) |
| 5142 | { |
| 5143 | if (generators.empty()) { |
| 5144 | return; |
| 5145 | } |
| 5146 | if (!this->CreateXCodeObjects(root, generators)) { |
| 5147 | return; |
| 5148 | } |
| 5149 | std::string xcodeDir = cmStrCat(root->GetCurrentBinaryDirectory(), '/', |
| 5150 | root->GetProjectName(), ".xcodeproj"); |
| 5151 | cmSystemTools::MakeDirectory(xcodeDir); |
| 5152 | std::string xcodeProjFile = cmStrCat(xcodeDir, "/project.pbxproj"); |
| 5153 | cmGeneratedFileStream fout(xcodeProjFile); |
| 5154 | fout.SetCopyIfDifferent(true); |
| 5155 | if (!fout) { |
| 5156 | return; |
| 5157 | } |
| 5158 | this->WriteXCodePBXProj(fout, root, generators); |
| 5159 | |
| 5160 | bool hasGeneratedSchemes = this->OutputXCodeSharedSchemes(xcodeDir, root); |
| 5161 | this->OutputXCodeWorkspaceSettings(xcodeDir, hasGeneratedSchemes); |
| 5162 | |
| 5163 | this->ClearXCodeObjects(); |
| 5164 | |
| 5165 | // Since this call may have created new cache entries, save the cache: |
| 5166 | // |
| 5167 | root->GetMakefile()->GetCMakeInstance()->SaveCache( |
| 5168 | root->GetBinaryDirectory()); |
| 5169 | } |
| 5170 | |
| 5171 | bool cmGlobalXCodeGenerator::OutputXCodeSharedSchemes( |
| 5172 | std::string const& xcProjDir, cmLocalGenerator* root) |
no test coverage detected