project('tiwiq', 'cpp', version: '0.0.0', default_options: [ 'prefix=/usr', 'warning_level=3', 'cpp_std=c++17', ]) twq_lib = static_library('tiwiq', sources: [ 'src/core/Binding.cpp', 'src/core/Command.cpp', 'src/core/Context.cpp', 'src/core/Executor.cpp', 'src/core/KeyMod.cpp', 'src/core/Plugin.cpp', 'src/core/Shortcut.cpp', 'src/core/Tiwiq.cpp', 'src/core/UI.cpp', 'src/core/Observer.cpp', 'src/core/Observable.cpp', 'src/core/Event.cpp', 'src/core/Coord.cpp', 'src/core/Rect.cpp', 'src/core/Color.cpp', 'src/cmd/QuitCmd.cpp', 'src/plugins/CorePlugin.cpp', 'src/term/Controller.cpp', 'src/term/View.cpp', 'src/term/Term.cpp', ], dependencies: [ dependency('ncursesw') ]) twq_dep = declare_dependency( link_with: twq_lib, include_directories: ['src/'] ) executable('twq', sources: [ 'src/main.cpp' ], dependencies: [ twq_dep ], install: true) executable('twq-tests', sources: [ 'tests/main.cpp', 'tests/Shortcut.cpp', 'tests/Executor.cpp', ], dependencies: [ twq_dep, dependency('catch2') ])