project('raycaster', 'cpp', default_options: ['cpp_std=c++20']) catch2 = dependency('catch2-with-main') fmt = dependency('fmt') json = dependency('nlohmann_json') sfml = dependency('sfml') sdl2 = dependency('sdl2') sdl2main = dependency('sdl2main') dependencies = [ fmt, json, sfml ] executable('runtests', [ 'dbc.cpp', 'matrix.cpp', 'tests/base.cpp', ], dependencies: dependencies + [catch2]) executable('raycaster', [ 'dbc.cpp', 'matrix.cpp', 'raycaster.cpp', ], dependencies: dependencies) executable('raycaster_pixels', [ 'dbc.cpp', 'matrix.cpp', 'raycaster_pixels.cpp', ], dependencies: dependencies) executable('timcaster', [ './scratchpad/timcaster.cpp', ], dependencies: dependencies + [sdl2, sdl2main]) executable('fenstercaster', [ 'dbc.cpp', 'matrix.cpp', 'miniaudio.cpp', 'fenscaster.cpp' ], dependencies: dependencies)