snake/meson.build

59 lines
1.6 KiB
Meson

project('snake',
'cpp',
version: '0.0.0',
default_options: [
'prefix=/usr',
'warning_level=3',
'cpp_std=c++17'
])
conf = configuration_data()
conf.set('version', meson.project_version())
configure_file(input: 'src/snake.in.hpp',
output: 'snake.hpp',
configuration: conf)
snake_lib = static_library('snake',
sources: [
'src/Node.cpp',
'src/Lexer.cpp',
'src/Parser.cpp',
'src/Interpreter.cpp',
'src/State.cpp',
'src/DAG.cpp',
'src/SymTable.cpp',
'src/Loader.cpp',
'src/Executor.cpp',
'src/Finder.cpp',
'src/Value.cpp',
],
dependencies: [
dependency('sqlite3')
])
snake_dep = declare_dependency(link_with: [
snake_lib
])
executable('snake',
sources: [
'src/main.cpp',
],
dependencies: [
snake_dep
],
install: true)
executable('snake-tests',
sources: [
'tests/main.cpp',
'tests/Lexer.cpp',
'tests/Parser.cpp',
'tests/Interpreter.cpp',
],
dependencies: [
snake_dep,
dependency('catch2')
])