project('duck2d', 'cpp', version: '0.0.0', default_options: [ 'prefix=/usr', 'warning_level=3', 'cpp_std=c++17', ]) assets_dir = get_option('prefix') / get_option('datadir') / 'duck2d' conf = configuration_data() conf.set('version', meson.project_version()) conf.set('assets_dir', assets_dir / 'assets') configure_file( input: 'src/conf.in.hpp', output: 'conf.hpp', configuration: conf ) executable('d2d', sources: [ 'src/main.cpp', 'src/Script.cpp', # game 'src/Game.cpp', 'src/Scene.cpp', # ecs 'src/ECS.cpp', 'src/BaseComponent.cpp', 'src/BaseSystem.cpp', # graphics 'src/Shader.cpp', 'src/Shape.cpp', 'src/Material.cpp', 'src/Object.cpp', 'src/Renderer.cpp', ], dependencies: [ dependency('sdl2'), dependency('glew'), dependency('glm'), dependency('guile-3.0'), ], install: true) install_subdir('assets', install_dir: assets_dir)