Exploring raycasters and possibly make a little "doom like" game based on it.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
raycaster/meson.build

88 lines
2.1 KiB

project('raycaster', 'cpp',
version: '0.1.0',
default_options: [
'cpp_std=c++20',
'cpp_args=-D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1',
])
# use this for common options only for our executables
cpp_args=[]
# these are passed as override_defaults
exe_defaults = ['warning_level=2', 'werror=true']
cc = meson.get_compiler('cpp')
catch2 = dependency('catch2-with-main')
fmt = dependency('fmt', allow_fallback: true)
json = dependency('nlohmann_json')
freetype2 = dependency('freetype2')
opengl32 = cc.find_library('opengl32', required: true)
winmm = cc.find_library('winmm', required: true)
gdi32 = cc.find_library('gdi32', required: true)
flac = dependency('flac')
ogg = dependency('ogg')
vorbis = dependency('vorbis')
vorbisfile = dependency('vorbisfile')
vorbisenc = dependency('vorbisenc')
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')
dependencies = [
fmt, json, opengl32, freetype2,
flac, ogg, vorbis, vorbisfile, vorbisenc,
winmm, gdi32, sfml_audio, sfml_graphics,
sfml_main, sfml_network, sfml_system,
sfml_window
]
sources = [
'animator.cpp',
'camera.cpp',
'combat.cpp',
'components.cpp',
'config.cpp',
'dbc.cpp',
'devices.cpp',
'inventory.cpp',
'levelmanager.cpp',
'lights.cpp',
'map.cpp',
'matrix.cpp',
'matrix.cpp',
'pathing.cpp',
'rand.cpp',
'raycaster.cpp',
'save.cpp',
'shiterator.hpp',
'spatialmap.cpp',
'stats.cpp',
'systems.cpp',
'texture.cpp',
'tilemap.cpp',
'worldbuilder.cpp',
]
executable('runtests', sources + [
'tests/base.cpp',
'tests/dbc.cpp',
'tests/inventory.cpp',
'tests/levelmanager.cpp',
'tests/lighting.cpp',
'tests/map.cpp',
'tests/matrix.cpp',
'tests/pathing.cpp',
'tests/spatialmap.cpp',
'tests/tilemap.cpp',
'tests/worldbuilder.cpp',
], override_options: exe_defaults,
dependencies: dependencies + [catch2])
executable('zedcaster',
sources + [ 'main.cpp' ],
cpp_args: cpp_args,
override_options: exe_defaults,
dependencies: dependencies)