2023-11-13 19:50:58 +00:00
|
|
|
project(
|
|
|
|
'rest-in-dust',
|
|
|
|
'cpp',
|
|
|
|
version: '0.0.0',
|
|
|
|
default_options: [
|
|
|
|
'warning_level=3',
|
|
|
|
'cpp_std=c++17',
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
datadir = get_option('prefix') / get_option('datadir') / 'rest_in_dust'
|
|
|
|
|
|
|
|
conf = configuration_data()
|
|
|
|
conf.set('version', meson.project_version())
|
|
|
|
conf.set('datadir', datadir)
|
|
|
|
|
|
|
|
configure_file(
|
|
|
|
input: 'src/conf.in.hpp',
|
|
|
|
output: 'conf.hpp',
|
|
|
|
configuration: conf
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'rest-in-dust',
|
|
|
|
sources: [
|
|
|
|
'src/main.cpp',
|
2023-11-14 00:14:08 +00:00
|
|
|
|
|
|
|
# game
|
|
|
|
'src/Game.cpp',
|
|
|
|
'src/BaseScene.cpp',
|
2023-11-14 12:51:17 +00:00
|
|
|
'src/ECS.cpp',
|
|
|
|
'src/BaseComponent.cpp',
|
|
|
|
'src/BaseSystem.cpp',
|
2023-11-14 19:18:13 +00:00
|
|
|
'src/EntityFactory.cpp',
|
2023-11-14 12:51:17 +00:00
|
|
|
|
|
|
|
# systems
|
|
|
|
'src/sys/BodySystem.cpp',
|
2023-11-14 19:18:13 +00:00
|
|
|
'src/sys/ActorSystem.cpp',
|
|
|
|
'src/sys/PlayerSystem.cpp',
|
2023-11-14 00:14:08 +00:00
|
|
|
|
|
|
|
# arena
|
|
|
|
'src/arena/Arena.cpp',
|
|
|
|
|
|
|
|
# gfx
|
|
|
|
'src/gfx/Window.cpp',
|
|
|
|
'src/gfx/Shaders.cpp',
|
|
|
|
'src/gfx/Canvas.cpp',
|
|
|
|
'src/gfx/Texture.cpp',
|
2023-11-14 19:18:13 +00:00
|
|
|
|
|
|
|
# input
|
|
|
|
'src/input/Joystick.cpp',
|
2023-11-13 19:50:58 +00:00
|
|
|
],
|
|
|
|
dependencies: [
|
2023-11-14 00:14:08 +00:00
|
|
|
dependency('glew'),
|
|
|
|
dependency('sdl2'),
|
|
|
|
dependency('SDL2_image'),
|
|
|
|
dependency('glm'),
|
2023-11-13 19:50:58 +00:00
|
|
|
],
|
|
|
|
install: true
|
|
|
|
)
|
|
|
|
|
|
|
|
install_subdir('assets', install_dir: datadir)
|