project('spg project', 'cpp')

sources = ['Main.cpp',
    'Game.cpp',
    'MarchingCubes.cpp',
    'LayeredFramebuffer.cpp',
    'gaming-core/utils/Size.cpp',
    'gaming-core/utils/Clock.cpp',
    'gaming-core/wrapper/GLFW.cpp',
    'gaming-core/wrapper/GL.cpp',
    'gaming-core/wrapper/GLEW.cpp',
    'gaming-core/rendering/Window.cpp',
    'gaming-core/rendering/WindowOptions.cpp',
    'gaming-core/rendering/Shader.cpp',
    'gaming-core/rendering/VertexBuffer.cpp',
    'gaming-core/rendering/Attributes.cpp',
    'gaming-core/rendering/Texture.cpp',
    'gaming-core/rendering/TextureFormat.cpp',
    'gaming-core/math/Frustum.cpp',
    'gaming-core/math/Plane.cpp',
    'gaming-core/math/Matrix.cpp',
    'gaming-core/math/Quaternion.cpp',
    'gaming-core/math/Vector.cpp',
    'gaming-core/input/Button.cpp',
    'gaming-core/input/Buttons.cpp']

glewDep = dependency('glew')
glfwDep = dependency('glfw3')

executable('demo', 
    sources: sources,
    dependencies : [glewDep, glfwDep],
    include_directories : include_directories('gaming-core'),
    cpp_args: ['-Wall', '-Wextra', '-pedantic', '-Werror'])