diff --git a/meson.build b/meson.build index f0866d4..b3078a7 100644 --- a/meson.build +++ b/meson.build @@ -76,6 +76,11 @@ sfml_system = subproject('sfml').get_variable('sfml_system_dep') sfml_window = subproject('sfml').get_variable('sfml_window_dep') lel_guecs = subproject('lel-guecs').get_variable('lel_guecs_dep') +inc_dirs = include_directories('src') + +subdir('src') +subdir('tests') + dependencies += [ fmt, json, freetype2, flac, ogg, vorbis, vorbisfile, vorbisenc, @@ -84,10 +89,18 @@ dependencies += [ sfml_window, lel_guecs ] -inc_dirs = include_directories('src') +caster_lib = static_library('caster', + sources, + cpp_args: cpp_args, + include_directories: inc_dirs, + override_options: exe_defaults, + dependencies: dependencies) -subdir('src') -subdir('tests') +caster_dep = declare_dependency( + link_with: caster_lib, + include_directories: inc_dirs) + +dependencies += [ caster_dep ] executable('runtests', sources + tests, cpp_args: cpp_args, @@ -97,7 +110,7 @@ executable('runtests', sources + tests, dependencies: dependencies + [catch2]) executable('zedcaster', - sources + [ 'src/main.cpp' ], + [ 'src/main.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, @@ -105,7 +118,7 @@ executable('zedcaster', dependencies: dependencies) executable('arena', - arena_sources + [ 'tools/arena.cpp' ], + [ 'tools/arena.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, @@ -113,7 +126,7 @@ executable('arena', dependencies: dependencies) executable('animator', - sources + [ 'tools/animator.cpp' ], + [ 'tools/animator.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, @@ -121,7 +134,7 @@ executable('animator', dependencies: dependencies) executable('storyboard', - sources + [ 'tools/storyboard.cpp' ], + [ 'tools/storyboard.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, @@ -129,7 +142,7 @@ executable('storyboard', dependencies: dependencies) executable('icongen', - sources + [ 'tools/icongen.cpp' ], + [ 'tools/icongen.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, @@ -137,7 +150,7 @@ executable('icongen', dependencies: dependencies) executable('fragviewer', - sources + [ 'tools/fragviewer.cpp' ], + [ 'tools/fragviewer.cpp' ], cpp_args: cpp_args, link_args: link_args, include_directories: inc_dirs, diff --git a/src/meson.build b/src/meson.build index dfc953c..0afa78f 100644 --- a/src/meson.build +++ b/src/meson.build @@ -66,57 +66,3 @@ sources = files( # root 'dbc.cpp', ) - -arena_sources = files( - # ai - 'ai/ai.cpp', - 'ai/ai_debug.cpp', - 'ai/goap.cpp', - - # combat - 'combat/battle.cpp', - 'combat/combat.cpp', - - # boss fight mini game - 'boss/fight.cpp', - 'boss/system.cpp', - 'boss/ui.cpp', - - # gui - 'gui/backend.cpp', - 'gui/combat_ui.cpp', - 'gui/debug_ui.cpp', - 'gui/event_router.cpp', - 'gui/guecstra.cpp', - - # graphics - 'graphics/animation.cpp', - 'graphics/camera.cpp', - 'graphics/easing.cpp', - 'graphics/palette.cpp', - 'graphics/scene.cpp', - 'graphics/shaders.cpp', - 'graphics/textures.cpp', - 'graphics/lights.cpp', - - # algos - 'algos/matrix.cpp', - 'algos/maze.cpp', - 'algos/spatialmap.cpp', - 'algos/rand.cpp', - 'algos/pathing.cpp', - - # game - 'game/worldbuilder.cpp', - 'game/map.cpp', - 'game/level.cpp', - 'game/inventory.cpp', - 'game/sound.cpp', - 'game/systems.cpp', - 'game/components.cpp', - 'game/config.cpp', - 'game/rituals.cpp', - - # root - 'dbc.cpp', -)