|
|
|
project('turings_tarpit', 'cpp',
|
|
|
|
default_options: ['cpp_std=c++20'])
|
|
|
|
|
|
|
|
cmake = import('cmake')
|
|
|
|
opts = cmake.subproject_options()
|
|
|
|
opts.add_cmake_defines({
|
|
|
|
'USE_ICONV': false,
|
|
|
|
'USE_SSH': false,
|
|
|
|
'USE_NTLMCLIENT': false,
|
|
|
|
'BUILD_SHARED_LIBS': true,
|
|
|
|
'BUILD_TESTS': false,
|
|
|
|
})
|
|
|
|
libgit2_proj = cmake.subproject('libgit2', options: opts)
|
|
|
|
libgit2package = libgit2_proj.dependency('libgit2package')
|
|
|
|
|
|
|
|
efsw = dependency('efsw')
|
|
|
|
fmt = dependency('fmt')
|
|
|
|
catch2 = dependency('catch2-with-main')
|
|
|
|
sfml = dependency('sfml')
|
|
|
|
json = dependency('nlohmann_json')
|
|
|
|
imgui = dependency('imgui-sfml')
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
fmt, libgit2package, efsw,
|
|
|
|
sfml, imgui, json
|
|
|
|
]
|
|
|
|
|
|
|
|
subdir('scratchpad')
|
|
|
|
|
|
|
|
executable('escape_turings_tarpit',
|
|
|
|
['game_engine.cpp',
|
|
|
|
'dbc.cpp',
|
|
|
|
'gui.cpp',
|
|
|
|
'watcher.cpp',
|
|
|
|
'builder.cpp',
|
|
|
|
'sfmlbackend.cpp',
|
|
|
|
'escape_turings_tarpit.cpp'],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
runtests = executable('runtests', [
|
|
|
|
'dbc.cpp',
|
|
|
|
'game_engine.cpp',
|
|
|
|
'tests/game_engine.cpp',
|
|
|
|
'tests/fsm.cpp',
|
|
|
|
'tests/dbc.cpp',
|
|
|
|
],
|
|
|
|
dependencies: dependencies + [catch2])
|
|
|
|
|
|
|
|
test('tests', runtests)
|