meson.build 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. project('cubes plus plus', 'cpp')
  2. sources_common = [
  3. 'common/block/Block.cpp',
  4. 'common/block/BlockRegistry.cpp',
  5. 'common/world/BlockMap.cpp',
  6. 'common/world/BlockStorage.cpp',
  7. 'common/world/World.cpp',
  8. 'common/world/HighMap.cpp',
  9. 'gaming-core/utils/Random.cpp',
  10. 'gaming-core/utils/Clock.cpp',
  11. 'gaming-core/utils/BitArray.cpp',
  12. 'gaming-core/math/Vector.cpp',
  13. 'gaming-core/network/Packet.cpp',
  14. 'gaming-core/network/ENet.cpp'
  15. ]
  16. sources_server = ['server/Main.cpp',
  17. 'server/GameServer.cpp',
  18. 'server/commands/ServerState.cpp',
  19. 'server/commands/CommandManager.cpp',
  20. 'server/world/WorldGenerator.cpp',
  21. 'gaming-core/network/Server.cpp'
  22. ]
  23. sources_client = ['client/Main.cpp',
  24. 'gaming-core/utils/Size.cpp',
  25. 'gaming-core/math/Frustum.cpp',
  26. 'gaming-core/math/Plane.cpp',
  27. 'gaming-core/math/Matrix.cpp',
  28. 'gaming-core/math/Quaternion.cpp',
  29. 'gaming-core/wrapper/GL.cpp',
  30. 'gaming-core/rendering/Shader.cpp',
  31. 'gaming-core/rendering/Texture.cpp',
  32. 'gaming-core/rendering/TextureFormat.cpp',
  33. 'gaming-core/rendering/VertexBuffer.cpp',
  34. 'gaming-core/rendering/Attributes.cpp',
  35. 'gaming-core/rendering/Window.cpp',
  36. 'gaming-core/rendering/WindowOptions.cpp',
  37. 'gaming-core/rendering/FileTexture.cpp',
  38. 'gaming-core/images/PNGReader.cpp',
  39. 'gaming-core/utils/Buffer.cpp',
  40. 'gaming-core/utils/Error.cpp',
  41. 'gaming-core/input/Button.cpp',
  42. 'gaming-core/input/Buttons.cpp',
  43. 'gaming-core/input/TextInput.cpp',
  44. 'gaming-core/network/Client.cpp',
  45. 'client/rendering/Framebuffers.cpp',
  46. 'client/rendering/Engine.cpp',
  47. 'client/rendering/Shaders.cpp',
  48. 'client/rendering/Mesh.cpp',
  49. 'client/Game.cpp',
  50. 'client/rendering/ShaderMatrix.cpp',
  51. 'client/rendering/NoiseTexture.cpp',
  52. 'client/input/Controller.cpp',
  53. 'client/rendering/RenderSettings.cpp',
  54. 'client/rendering/Renderer.cpp',
  55. 'client/rendering/renderer/WorldRenderer.cpp',
  56. 'client/rendering/Vertex.cpp',
  57. 'client/rendering/Triangle.cpp',
  58. 'client/gui/BaseGUI.cpp',
  59. 'client/gui/StartGUI.cpp'
  60. ]
  61. sources_test = ['tests/Main.cpp']
  62. thread_dep = dependency('threads')
  63. glew_dep = dependency('glew')
  64. glfw_dep = dependency('glfw3')
  65. png_dep = dependency('libpng')
  66. args = ['-Wall', '-Wextra', '-pedantic', '-Werror']
  67. liblonelytiger_proj = subproject('lonely-tiger')
  68. liblonelytiger_dep = liblonelytiger_proj.get_variable('liblonelytiger_dep')
  69. executable('game_server',
  70. sources: sources_common + sources_server,
  71. dependencies : [thread_dep, liblonelytiger_dep],
  72. include_directories : include_directories('gaming-core'),
  73. cpp_args: args)
  74. executable('game_tests',
  75. sources: sources_test,
  76. include_directories : include_directories('gaming-core'),
  77. cpp_args: args)
  78. executable('game_client',
  79. sources: sources_common + sources_client,
  80. dependencies : [thread_dep, glew_dep, glfw_dep, png_dep],
  81. include_directories : include_directories('gaming-core'),
  82. cpp_args: args)