Make the sfml parts a separate dependency so you can use them if you want.

This commit is contained in:
Zed A. Shaw 2025-05-16 10:31:04 -04:00
parent de0d957c66
commit b7c49711b6
4 changed files with 47 additions and 31 deletions

View file

@ -1,5 +1,7 @@
# clang might need _LIBCPP_ENABLE_CXX26_REMOVED_CODECVT
# HEY BUG: when you have a . spec in a LEL it doesn't work on text
project('lel-guecs', 'cpp',
version: '0.2.0',
default_options: [
@ -63,11 +65,12 @@ sfml_window = subproject('sfml').get_variable('sfml_window_dep')
lib_depends = [ fmt, sfml_graphics, sfml_system, sfml_window ]
dependencies += [
json, freetype2, flac, ogg,
lib_sfml_depends = [
fmt, json, freetype2, flac, ogg,
vorbis, vorbisfile, vorbisenc, sfml_audio,
] + lib_depends
]
dependencies += lib_depends + lib_sfml_depends
sources = [
'src/guecs/ui.cpp',
@ -98,7 +101,19 @@ lel_guecs_dep = declare_dependency(
link_with: lel_guecs_lib,
include_directories: lel_guecs_inc)
executable('runtests', sfml_impl + [
lel_guecs_sfml_lib = static_library('lel-guecs-sfml',
sfml_impl,
pic: true,
cpp_args: cpp_args,
include_directories: lel_guecs_inc,
override_options: exe_defaults,
dependencies: lib_sfml_depends)
lel_guecs_sfml_dep = declare_dependency(
link_with: lel_guecs_sfml_lib,
include_directories: lel_guecs_inc)
executable('runtests', [
'tests/lel.cpp',
'tests/shaders.cpp',
'tests/sound.cpp',
@ -109,25 +124,25 @@ executable('runtests', sfml_impl + [
link_args: link_args,
override_options: exe_defaults,
include_directories: lel_guecs_inc,
link_with: [lel_guecs_lib],
link_with: [lel_guecs_lib, lel_guecs_sfml_lib],
dependencies: dependencies + [catch2])
executable('clicker_game', sfml_impl + [
executable('clicker_game', [
'demos/clicker_game.cpp',
],
cpp_args: cpp_args,
link_args: link_args,
override_options: exe_defaults,
include_directories: lel_guecs_inc,
link_with: [lel_guecs_lib],
link_with: [lel_guecs_lib, lel_guecs_sfml_lib],
dependencies: dependencies)
executable('calc', sfml_impl + [
executable('calc', [
'demos/calc.cpp',
],
cpp_args: cpp_args,
link_args: link_args,
override_options: exe_defaults,
include_directories: lel_guecs_inc,
link_with: [lel_guecs_lib],
link_with: [lel_guecs_lib, lel_guecs_sfml_lib],
dependencies: dependencies)