57 lines
1.5 KiB
Meson
57 lines
1.5 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',
|
|
],
|
|
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')
|
|
])
|