2
0

merge.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import os
  2. from datetime import date
  3. files = ["Core", "Texture", "Shader", "Camera", "GraphicModel",\
  4. "gl3d"]
  5. initialtext = \
  6. """////////////////////////////////////////////////
  7. //gl32 --Vlad Luta --
  8. //built on {date}
  9. ////////////////////////////////////////////////
  10. """
  11. perFileText = \
  12. """////////////////////////////////////////////////
  13. //{file}
  14. ////////////////////////////////////////////////
  15. """
  16. os.chdir("../")
  17. #.h
  18. finalHFile = open("headerOnly/gl3d.h", "w")
  19. finalHFile.write(initialtext.format(date = date.today()))
  20. finalHFile.write("\n\n")
  21. for i in files:
  22. f = open(os.path.join("gl3d", "src", i + ".h"))
  23. content = f.read()
  24. finalHFile.write(perFileText.format(file = i+".h"))
  25. finalHFile.write("#pragma region " + i + '\n')
  26. finalHFile.write(content)
  27. finalHFile.write("\n#pragma endregion" + '\n')
  28. finalHFile.write("\n\n")
  29. f.close()
  30. finalHFile.close()
  31. #.cpp
  32. finalHFile = open("headerOnly/gl3d.cpp", "w")
  33. finalHFile.write(initialtext.format(date = date.today()))
  34. finalHFile.write("\n")
  35. finalHFile.write("""#include \"gl3d.h\"""")
  36. finalHFile.write("\n\n")
  37. for i in files:
  38. f = open(os.path.join("gl3d", "src", i + ".cpp"))
  39. content = f.read()
  40. #todo regex
  41. for j in files:
  42. content = content.replace(f"#include <{j}.h>","")
  43. content = content.replace(f"#include<{j}.h>","")
  44. content = content.replace(f"#include \"{j}.h\"","")
  45. content = content.replace(f"#include\"{j}.h\"","")
  46. finalHFile.write(perFileText.format(file = i+".cpp"))
  47. finalHFile.write("#pragma region " + i + '\n')
  48. finalHFile.write(content)
  49. finalHFile.write("\n#pragma endregion" + '\n')
  50. finalHFile.write("\n\n")
  51. f.close()
  52. finalHFile.close()