MCPcopy Index your code
hub / github.com/Kitware/CMake / OutputXCodeProject

Method OutputXCodeProject

Source/cmGlobalXCodeGenerator.cxx:5140–5169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5138}
5139
5140void 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
5171bool cmGlobalXCodeGenerator::OutputXCodeSharedSchemes(
5172 std::string const& xcProjDir, cmLocalGenerator* root)

Callers 1

GenerateMethod · 0.95

Calls 12

CreateXCodeObjectsMethod · 0.95
WriteXCodePBXProjMethod · 0.95
ClearXCodeObjectsMethod · 0.95
SetCopyIfDifferentMethod · 0.80
cmStrCatFunction · 0.70
emptyMethod · 0.45
GetProjectNameMethod · 0.45
SaveCacheMethod · 0.45
GetCMakeInstanceMethod · 0.45
GetMakefileMethod · 0.45

Tested by

no test coverage detected