1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- project('gamingcore', 'cpp', default_options : ['default_library=static'])
- src = [
- 'io/ImageReader.cpp',
- 'math/Math.cpp',
- 'math/Box.cpp',
- 'math/Frustum.cpp',
- 'math/View.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/Shader.cpp',
- 'rendering/Texture.cpp',
- 'rendering/VertexBuffer.cpp',
- 'rendering/Window.cpp',
- 'rendering/GL.cpp',
- 'data/BitArray.cpp',
- 'utils/Buffer.cpp',
- 'utils/Clock.cpp',
- 'utils/Error.cpp',
- 'utils/Logger.cpp',
- 'utils/Random.cpp',
- 'libs/lodepng/lodepng.cpp',
- ]
- src_tests = [
- 'Main.cpp',
- 'tests/ArrayListTests.cpp',
- 'tests/ArrayTests.cpp',
- 'tests/BitArrayTests.cpp',
- 'tests/BufferTests.cpp',
- 'tests/BufferedValueTests.cpp',
- 'tests/BoxTests.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/ImageReaderTests.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/MathTests.cpp',
- 'tests/VectorTests.cpp',
- 'tests/ViewTests.cpp',
- 'tests/ComponentsTests.cpp',
- ]
- compiler = meson.get_compiler('cpp')
- args = compiler.get_supported_arguments(['-Wall', '-Wextra', '-pedantic', '-Werror'])
- cmake = import('cmake')
- glfw_proj = cmake.subproject('glfw')
- glfw_includes = glfw_proj.include_directories('glfw')
- glfw_dep = glfw_proj.dependency('glfw')
- glew_proj = subproject('glew', default_options: 'default_library=static')
- glew_includes = glew_proj.get_variable('glew_include')
- glew_dep = glew_proj.get_variable('glew_dep')
- thread_dep = dependency('threads', static: true)
- 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)
- dl_dep = compiler.find_library('dl', required: false)
- gamingcore_include = [include_directories('.'), glfw_includes, glew_includes]
- gamingcore = static_library('gamingcore',
- sources: src,
- include_directories : gamingcore_include,
- dependencies : [thread_dep, glfw_dep, glew_dep, gl_dep, ws2_32_dep, winmm_dep, glu_dep, dl_dep, glu_dep],
- cpp_args: args)
- gamingcore_dep = declare_dependency(
- include_directories : gamingcore_include,
- link_with: gamingcore)
- executable('tests',
- sources: src_tests,
- dependencies : gamingcore_dep,
- cpp_args: args + ['-DLOG_LEVEL=4'])
|