project('roza', 'cpp', version: '0.0.0', default_options: [ 'warning_level=3', 'cpp_std=c++17' ]) roza_lib = static_library( 'roza', sources: [ 'lib/SrcLoc.cpp', 'lib/StatusLog.cpp', 'lib/Node.cpp', 'lib/Lexer.cpp', 'lib/Parser.cpp', 'lib/Compiler.cpp', 'lib/StaticPass.cpp', 'lib/Program.cpp', 'lib/VM.cpp', 'lib/Type.cpp', 'lib/Value.cpp', 'lib/TypeResolver.cpp', 'lib/SymTable.cpp', ] ) roza_dep = declare_dependency(link_with: roza_lib) executable('roza', sources: [ 'src/main.cpp', 'src/Args.cpp', 'src/Loader.cpp', ], dependencies: [ roza_dep ], install: true) executable('roza-tests', sources: [ 'tests/main.cpp', 'tests/Lexer.cpp', 'tests/Parser.cpp', 'tests/Compiler.cpp', 'tests/TypeResolver.cpp', 'tests/StaticPass.cpp', ], dependencies: [ dependency('catch2'), roza_dep ])