project('cubes plus plus', 'cpp') sourcesCommon = [ 'common/network/Packet.cpp', 'common/block/BlockBuilder.cpp', 'common/block/Block.cpp', 'common/block/BlockRegistry.cpp', 'gaming-core/utils/Random.cpp', 'common/world/World.cpp', 'gaming-core/math/Vector.cpp', 'gaming-core/utils/Clock.cpp'] sourcesServer = ['server/Main.cpp', 'server/network/Server.cpp', 'server/network/Client.cpp', 'server/GameServer.cpp', 'server/commands/ServerState.cpp', 'server/commands/CommandManager.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/wrapper/Shader.cpp', 'gaming-core/wrapper/Texture.cpp', 'gaming-core/wrapper/TextureFormat.cpp', 'gaming-core/wrapper/VertexBuffer.cpp', 'gaming-core/wrapper/Attributes.cpp', 'gaming-core/images/PNGReader.cpp', 'gaming-core/rendering/FileTexture.cpp', 'gaming-core/memory/StackAllocator.cpp', 'gaming-core/utils/Buffer.cpp', 'gaming-core/wrapper/Window.cpp', 'gaming-core/wrapper/WindowOptions.cpp', 'gaming-core/input/Button.cpp', 'gaming-core/input/Buttons.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)