pixtool/meson.build

80 lines
1.2 KiB
Meson

project(
'pixtool',
'cpp',
version: '0.0.0',
default_options: [
'cpp_std=c++17',
'warning_level=3'
]
)
conf = configuration_data()
conf.set('version', meson.project_version())
configure_file(
input: 'src/conf.in.hpp',
output: 'conf.hpp',
configuration: conf
)
qt6 = import('qt6')
qt6_dep = dependency('qt6', modules: ['Core', 'Widgets'])
qt_src = qt6.compile_moc(
headers: [
'src/gui/Window.hpp'
]
)
pixtool = static_library(
'pixtool-core',
sources: [
'src/Presenter.cpp',
# model
'src/model/PixTool.cpp',
'src/model/Command.cpp',
'src/model/Shortcut.cpp',
'src/model/CommandRunner.cpp',
'src/model/Observer.cpp',
'src/model/Observable.cpp',
# gui
'src/gui/Window.cpp',
] + qt_src,
dependencies: [
qt6_dep,
dependency('spdlog')
]
)
pixtool_dep = declare_dependency(
link_with: [pixtool],
include_directories: ['src']
)
executable(
'pixtool',
sources: [
'src/main.cpp'
],
dependencies: [
pixtool_dep,
qt6_dep
],
install: true
)
executable(
'pixtool-tests',
sources: [
'tests/main.cpp',
'tests/CommandRunner.cpp',
],
dependencies: [
dependency('catch2'),
pixtool_dep
],
install: true
)