cmXCode21Object.cxx 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include "cmXCode21Object.h"
  2. #include "cmSystemTools.h"
  3. cmXCode21Object::cmXCode21Object(PBXType ptype, Type type)
  4. :cmXCodeObject(ptype, type)
  5. {
  6. m_Version = 21;
  7. }
  8. //----------------------------------------------------------------------------
  9. void cmXCode21Object::PrintComment(std::ostream& out)
  10. {
  11. if(m_Comment.size() == 0)
  12. {
  13. cmXCodeObject* n = this->GetObject("name");
  14. if(n)
  15. {
  16. m_Comment = n->GetString();
  17. cmSystemTools::ReplaceString(m_Comment, "\"", "");
  18. }
  19. }
  20. out << "/* ";
  21. out << m_Comment;
  22. out << " */";
  23. }
  24. void cmXCode21Object::PrintList(std::vector<cmXCodeObject*> const& v,
  25. std::ostream& out, PBXType t)
  26. {
  27. bool hasOne = false;
  28. for(std::vector<cmXCodeObject*>::const_iterator i = v.begin();
  29. i != v.end(); ++i)
  30. {
  31. cmXCodeObject* obj = *i;
  32. if(obj->GetType() == OBJECT && obj->GetIsA() == t)
  33. {
  34. hasOne = true;
  35. break;
  36. }
  37. }
  38. if(!hasOne)
  39. {
  40. return;
  41. }
  42. out << "\n/* Begin " << PBXTypeNames[t] << " section */\n";
  43. for(std::vector<cmXCodeObject*>::const_iterator i = v.begin();
  44. i != v.end(); ++i)
  45. {
  46. cmXCodeObject* obj = *i;
  47. if(obj->GetType() == OBJECT && obj->GetIsA() == t)
  48. {
  49. obj->Print(out);
  50. }
  51. }
  52. out << "/* End " << PBXTypeNames[t] << " section */\n";
  53. }
  54. void cmXCode21Object::PrintList(std::vector<cmXCodeObject*> const& v,
  55. std::ostream& out)
  56. {
  57. cmXCodeObject::Indent(1, out);
  58. out << "objects = {\n";
  59. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXAggregateTarget);
  60. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXBuildFile);
  61. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXBuildStyle);
  62. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXContainerItemProxy);
  63. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXFileReference);
  64. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXFrameworksBuildPhase);
  65. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXGroup);
  66. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXHeadersBuildPhase);
  67. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXNativeTarget);
  68. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXProject);
  69. cmXCode21Object::PrintList(v, out,
  70. cmXCode21Object::PBXShellScriptBuildPhase);
  71. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXResourcesBuildPhase);
  72. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXSourcesBuildPhase);
  73. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXApplicationReference);
  74. cmXCode21Object::PrintList(v, out,
  75. cmXCode21Object::PBXExecutableFileReference);
  76. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXLibraryReference);
  77. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXToolTarget);
  78. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXLibraryTarget);
  79. cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXTargetDependency);
  80. cmXCode21Object::PrintList(v, out, cmXCode21Object::XCBuildConfiguration);
  81. cmXCode21Object::PrintList(v, out, cmXCode21Object::XCConfigurationList);
  82. cmXCodeObject::Indent(1, out);
  83. out << "};\n";
  84. }