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') dependencies = [ catch2, fmt, ftxui_screen, ftxui_dom, ftxui_component, json, sfml, lua, sol2 ] runtests = executable('runtests', [ 'matrix.cpp', 'dbc.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/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', [ 'matrix.cpp', 'dbc.cpp', 'main.cpp', 'map.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) 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)