|
|
|
project('roguish', 'cpp',
|
|
|
|
default_options: [ 'cpp_std=c++20' ])
|
|
|
|
|
|
|
|
catch2 = dependency('catch2-with-main')
|
|
|
|
fmt = dependency('fmt')
|
|
|
|
json = dependency('nlohmann_json')
|
|
|
|
ftxui_screen = dependency('ftxui-screen')
|
|
|
|
ftxui_dom = dependency('ftxui-dom')
|
|
|
|
ftxui_component = dependency('ftxui-component')
|
|
|
|
sfml = dependency('sfml')
|
|
|
|
lua = dependency('lua')
|
|
|
|
sol2 = dependency('sol2')
|
|
|
|
freetype2 = dependency('freetype2')
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
catch2, fmt,
|
|
|
|
ftxui_screen, ftxui_dom,
|
|
|
|
ftxui_component, json,
|
|
|
|
sfml, lua, sol2, freetype2
|
|
|
|
]
|
|
|
|
|
|
|
|
runtests = executable('runtests', [
|
|
|
|
'matrix.cpp',
|
|
|
|
'dbc.cpp',
|
|
|
|
'tilemap.cpp',
|
|
|
|
'map.cpp',
|
|
|
|
'rand.cpp',
|
|
|
|
'sound.cpp',
|
|
|
|
'combat.cpp',
|
|
|
|
'collider.cpp',
|
|
|
|
'ansi_parser.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'save.cpp',
|
|
|
|
'panel.cpp',
|
|
|
|
'render.cpp',
|
|
|
|
'pathing.cpp',
|
|
|
|
'lights.cpp',
|
|
|
|
'systems.cpp',
|
|
|
|
'gui.cpp',
|
|
|
|
'worldbuilder.cpp',
|
|
|
|
'tests/tilemap.cpp',
|
|
|
|
'tests/matrix.cpp',
|
|
|
|
'tests/fsm.cpp',
|
|
|
|
'tests/dbc.cpp',
|
|
|
|
'tests/map.cpp',
|
|
|
|
'tests/collider.cpp',
|
|
|
|
'tests/components.cpp',
|
|
|
|
'tests/dinkyecs.cpp',
|
|
|
|
'tests/ansi_parser.cpp',
|
|
|
|
'tests/config.cpp',
|
|
|
|
'tests/save.cpp',
|
|
|
|
'tests/render.cpp',
|
|
|
|
'tests/panel.cpp',
|
|
|
|
'tests/sound.cpp',
|
|
|
|
'tests/pathing.cpp',
|
|
|
|
'tests/lighting.cpp',
|
|
|
|
'tests/gui.cpp',
|
|
|
|
'tests/worldbuilder.cpp',
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
roguish = executable('roguish', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'matrix.cpp',
|
|
|
|
'tilemap.cpp',
|
|
|
|
'map.cpp',
|
|
|
|
'main.cpp',
|
|
|
|
'gui.cpp',
|
|
|
|
'rand.cpp',
|
|
|
|
'sound.cpp',
|
|
|
|
'collider.cpp',
|
|
|
|
'combat.cpp',
|
|
|
|
'systems.cpp',
|
|
|
|
'ansi_parser.cpp',
|
|
|
|
'render.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'save.cpp',
|
|
|
|
'panel.cpp',
|
|
|
|
'pathing.cpp',
|
|
|
|
'lights.cpp',
|
|
|
|
'worldbuilder.cpp',
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
designer = executable('designer', [
|
|
|
|
'matrix.cpp',
|
|
|
|
'dbc.cpp',
|
|
|
|
'rand.cpp',
|
|
|
|
'ansi_parser.cpp',
|
|
|
|
'render.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'panel.cpp',
|
|
|
|
'pathing.cpp',
|
|
|
|
'lights.cpp',
|
|
|
|
'tools/designer.cpp'
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
fontextract = executable('fontextract', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'rand.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'tools/fontextract.cpp'
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
img2ansi = executable('img2ansi', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'panel.cpp',
|
|
|
|
'ansi_parser.cpp',
|
|
|
|
'render.cpp',
|
|
|
|
'scratchpad/img2ansi.cpp'
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
luatest = executable('luatest', [
|
|
|
|
'scratchpad/luatest.cpp'
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
test('tests', runtests)
|