cmXCode21Object.cxx 2.7 KB

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