fakir/meson.build

85 lines
1.5 KiB
Meson

project('fakir',
'cpp',
version: '0.0.0',
default_options: [
'warning_level=3',
'cpp_std=c++17',
'prefix=/usr',
])
# CONFIGURATION
# =============
conf = configuration_data()
conf.set('version', meson.project_version())
configure_file(input: 'src/conf.in.hpp',
output: 'conf.hpp',
configuration: conf)
# CORE LIB
# ========
fakir_cpp = [
'src/Node.cpp',
'src/Loc.cpp',
'src/Lexer.cpp',
'src/Parser.cpp',
'src/Constant.cpp',
'src/Compiler.cpp',
'src/VM.cpp',
'src/Program.cpp',
'src/Module.cpp',
]
fakir_hpp = [
'src/Node.hpp',
'src/Loc.hpp',
'src/Lexer.hpp',
'src/Parser.hpp',
'src/Constant.hpp',
'src/Compiler.hpp',
'src/VM.hpp',
'src/Program.hpp',
'src/Module.hpp',
'src/opcodes.hpp',
'src/commons.hpp',
'src/types.hpp',
]
fakir_lib = shared_library('fakir',
sources: fakir_cpp,
install: true)
install_headers(fakir_hpp, subdir: 'fakir')
fakir_dep = declare_dependency(
link_with: fakir_lib
)
# COMPILER
# ========
executable('fakir',
sources: [
'src/main.cpp',
],
dependencies: [
fakir_dep
],
install: true)
# TESTS
# =====
executable('fakir-tests',
sources: [
'tests/main.cpp',
'tests/Lexer.cpp',
'tests/Parser.cpp',
],
dependencies: [
fakir_dep,
dependency('catch2')
])