|
|
|
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_dep = libgit2_proj.dependency('libgit2package')
|
|
|
|
|
|
|
|
efsw_dep = dependency('efsw')
|
|
|
|
fmt = dependency('fmt')
|
|
|
|
ftxui_screen = dependency('ftxui-screen')
|
|
|
|
ftxui_dom = dependency('ftxui-dom')
|
|
|
|
ftxui_component = dependency('ftxui-component')
|
|
|
|
catch2 = dependency('catch2-with-main')
|
|
|
|
sfml = dependency('sfml')
|
|
|
|
json = dependency('nlohmann_json')
|
|
|
|
imgui = dependency('imgui-sfml')
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
fmt, libgit2package_dep, efsw_dep,
|
|
|
|
ftxui_screen, ftxui_dom, ftxui_component,
|
|
|
|
sfml, imgui, json
|
|
|
|
]
|
|
|
|
|
|
|
|
executable('escape_turings_tarpit',
|
|
|
|
['game_engine.cpp',
|
|
|
|
'gui.cpp',
|
|
|
|
'watcher.cpp',
|
|
|
|
'builder.cpp',
|
|
|
|
'sfmlgui.cpp',
|
|
|
|
'escape_turings_tarpit.cpp'],
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
executable('regtest', 'regtest.cpp',
|
|
|
|
dependencies: [fmt])
|
|
|
|
|
|
|
|
executable('ftxtest', 'ftxtest.cpp',
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
executable('ftx_thread_test', 'ftx_thread_test.cpp',
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
executable('audiotest', 'audiotest.cpp',
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
executable('jsontest', 'jsontest.cpp',
|
|
|
|
dependencies: dependencies)
|
|
|
|
|
|
|
|
runtests = executable('runtests', [
|
|
|
|
'game_engine.cpp',
|
|
|
|
'tests/game_engine.cpp',
|
|
|
|
],
|
|
|
|
dependencies: dependencies + [catch2])
|
|
|
|
|
|
|
|
test('tests', runtests)
|