project('cubes plus plus', 'cpp') sourcesCommon = [ 'common/block/Block.cpp', 'common/block/BlockRegistry.cpp', 'common/world/BlockMap.cpp', 'common/world/BlockStorage.cpp', 'common/world/World.cpp', 'common/world/HighMap.cpp', 'gaming-core/utils/Random.cpp', 'gaming-core/utils/Clock.cpp', 'gaming-core/utils/BitArray.cpp', 'gaming-core/math/Vector.cpp', 'gaming-core/network/Packet.cpp', 'gaming-core/network/ENet.cpp'] sourcesServer = ['server/Main.cpp', 'server/GameServer.cpp', 'server/commands/ServerState.cpp', 'server/commands/CommandManager.cpp', 'server/world/WorldGenerator.cpp', 'gaming-core/network/Server.cpp',] sourcesClient = ['client/Main.cpp', 'gaming-core/utils/Size.cpp', 'gaming-core/math/Frustum.cpp', 'gaming-core/math/Plane.cpp', 'gaming-core/math/Matrix.cpp', 'gaming-core/math/Quaternion.cpp', 'gaming-core/wrapper/GLFW.cpp', 'gaming-core/wrapper/GL.cpp', 'gaming-core/wrapper/GLEW.cpp', 'gaming-core/rendering/Shader.cpp', 'gaming-core/rendering/Texture.cpp', 'gaming-core/rendering/TextureFormat.cpp', 'gaming-core/rendering/VertexBuffer.cpp', 'gaming-core/rendering/Attributes.cpp', 'gaming-core/rendering/Window.cpp', 'gaming-core/rendering/WindowOptions.cpp', 'gaming-core/rendering/FileTexture.cpp', 'gaming-core/images/PNGReader.cpp', 'gaming-core/utils/Buffer.cpp', 'gaming-core/input/Button.cpp', 'gaming-core/input/Buttons.cpp', 'gaming-core/input/TextInput.cpp', 'gaming-core/network/Client.cpp', 'client/rendering/Framebuffers.cpp', 'client/rendering/Engine.cpp', 'client/rendering/Shaders.cpp', 'client/rendering/Mesh.cpp', 'client/Game.cpp', 'client/rendering/FontRenderer.cpp', 'client/rendering/NoiseTexture.cpp', 'client/input/Controller.cpp', 'client/rendering/RenderSettings.cpp', 'client/rendering/Renderer.cpp', 'client/rendering/renderer/WorldRenderer.cpp', 'client/rendering/Vertex.cpp', 'client/rendering/Triangle.cpp'] sourcesTest = ['tests/Main.cpp'] threadDep = dependency('threads') glewDep = dependency('glew') glfwDep = dependency('glfw3') pngDep = dependency('libpng') args = ['-Wall', '-Wextra', '-pedantic', '-Werror'] executable('game_server', sources: sourcesCommon + sourcesServer, dependencies : [threadDep], include_directories : include_directories('gaming-core'), cpp_args: args) executable('game_tests', sources: sourcesTest, include_directories : include_directories('gaming-core'), cpp_args: args) executable('game_client', sources: sourcesCommon + sourcesClient, dependencies : [threadDep, glewDep, glfwDep, pngDep], include_directories : include_directories('gaming-core'), cpp_args: args)