|
|
|
project('raycaster', 'cpp',
|
|
|
|
default_options: ['cpp_std=c++20'])
|
|
|
|
|
|
|
|
cc = meson.get_compiler('cpp')
|
|
|
|
|
|
|
|
tracy = dependency('tracy', static: true)
|
|
|
|
catch2 = dependency('catch2-with-main')
|
|
|
|
fmt = dependency('fmt')
|
|
|
|
freetype = dependency('freetype2')
|
|
|
|
json = dependency('nlohmann_json')
|
|
|
|
opengl32 = cc.find_library('opengl32', required: true)
|
|
|
|
winmm = cc.find_library('winmm', required: true)
|
|
|
|
gdi32 = cc.find_library('gdi32', required: true)
|
|
|
|
sfml_audio = dependency('sfml_audio')
|
|
|
|
sfml_graphics = dependency('sfml_graphics')
|
|
|
|
sfml_main = dependency('sfml_main')
|
|
|
|
sfml_network = dependency('sfml_network')
|
|
|
|
sfml_system = dependency('sfml_system')
|
|
|
|
sfml_window = dependency('sfml_window')
|
|
|
|
|
|
|
|
if get_option('tracy_enable') and get_option('buildtype') != 'debugoptimized'
|
|
|
|
warning('Profiling builds should set --buildtype=debugoptimized')
|
|
|
|
endif
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
fmt, json, opengl32, freetype,
|
|
|
|
winmm, gdi32, sfml_audio, sfml_graphics,
|
|
|
|
sfml_main, sfml_network, sfml_system,
|
|
|
|
sfml_window
|
|
|
|
]
|
|
|
|
|
|
|
|
executable('runtests', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'matrix.cpp',
|
|
|
|
'tests/base.cpp',
|
|
|
|
],
|
|
|
|
dependencies: dependencies + [catch2])
|
|
|
|
|
|
|
|
executable('zedcaster', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'matrix.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'texture.cpp',
|
|
|
|
'raycaster.cpp',
|
|
|
|
'stats.cpp',
|
|
|
|
'main.cpp'
|
|
|
|
],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
executable('amtcaster', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'config.cpp',
|
|
|
|
'amt/texture.cpp',
|
|
|
|
'amt/raycaster.cpp',
|
|
|
|
'amt/main.cpp'
|
|
|
|
],
|
|
|
|
cpp_args: ['-std=c++23'],
|
|
|
|
dependencies: dependencies)
|