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', ], 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') ])