project('gamingcore', 'cpp') src = [ 'images/PNGReader.cpp', 'input/Button.cpp', 'input/Buttons.cpp', 'input/TextInput.cpp', 'math/Frustum.cpp', 'math/Matrix.cpp', 'math/Plane.cpp', 'math/Quaternion.cpp', 'math/Vector.cpp', 'network/Client.cpp', 'network/ENet.cpp', 'network/Packet.cpp', 'network/Server.cpp', 'rendering/Attributes.cpp', 'rendering/FileTexture.cpp', 'rendering/Shader.cpp', 'rendering/Texture.cpp', 'rendering/TextureFormat.cpp', 'rendering/VertexBuffer.cpp', 'rendering/Window.cpp', 'rendering/WindowOptions.cpp', 'utils/BitArray.cpp', 'utils/Buffer.cpp', 'utils/Clock.cpp', 'utils/Error.cpp', 'utils/Logger.cpp', 'utils/Random.cpp', 'utils/Size.cpp', 'wrapper/GL.cpp', 'lodepng/lodepng.cpp', ] src_tests = [ 'Main.cpp', 'tests/ArrayListTests.cpp', 'tests/ArrayTests.cpp', 'tests/BitArrayTests.cpp', 'tests/BufferTests.cpp', 'tests/ClockTests.cpp', 'tests/ColorTests.cpp', 'tests/FrustumTests.cpp', 'tests/HashMapTests.cpp', 'tests/ListTests.cpp', 'tests/MatrixStackTests.cpp', 'tests/MatrixTests.cpp', 'tests/NetworkTests.cpp', 'tests/PNGReaderTests.cpp', 'tests/PlaneTests.cpp', 'tests/QuaternionTests.cpp', 'tests/RandomTests.cpp', 'tests/RingBufferTests.cpp', 'tests/SplitStringTests.cpp', 'tests/StackTests.cpp', 'tests/StringBufferTests.cpp', 'tests/Test.cpp', 'tests/TypedBufferTests.cpp', 'tests/UniquePointerTests.cpp', 'tests/UtilsTests.cpp', 'tests/VectorTests.cpp', 'tests/ComponentsTests.cpp', ] compiler = meson.get_compiler('cpp') args = compiler.get_supported_arguments(['-Wall', '-Wextra', '-pedantic', '-Werror']) thread_dep = dependency('threads') glew_dep = dependency('glew') glfw_dep = dependency('glfw3') gl_dep = dependency('GL') ws2_32_dep = compiler.find_library('ws2_32', required: false) winmm_dep = compiler.find_library('winmm', required: false) glu_dep = compiler.find_library('glu32', required: false) libgamingcore_include = include_directories('.', glew_dep.get_pkgconfig_variable('includedir'), glfw_dep.get_pkgconfig_variable('includedir')) libgamingcore = static_library('gamingcore', sources: src, include_directories : libgamingcore_include, dependencies : [thread_dep, glew_dep, glfw_dep, gl_dep, ws2_32_dep, winmm_dep, glu_dep], cpp_args: args) libgamingcore_dep = declare_dependency( include_directories: libgamingcore_include, link_with: libgamingcore) executable('tests', sources: src_tests, dependencies : libgamingcore_dep, cpp_args: args + ['-DLOG_LEVEL=4'])