raven/meson.build
2022-07-26 01:04:16 +03:00

84 lines
1.7 KiB
Meson

project(
'raven',
'cpp',
default_options : ['cpp_std=c++17']
)
project_description = 'The Raven user interface library'
cairomm_dep = dependency('cairomm-1.0')
pangocairo_dep = dependency('pangocairo')
xlib_dep = dependency('x11')
raven_dependencies = [
cairomm_dep,
xlib_dep,
pangocairo_dep
]
headers = include_directories('src')
raven_source_files = [
'./src/Box.cpp',
'./src/Styles.cpp',
'./src/Painter.cpp',
'./src/Window.cpp',
'./src/Widget.cpp',
'./src/ScrollContainer.cpp',
'./src/Button.cpp',
'./src/DocumentLayout.cpp',
'./src/RowLayout.cpp',
'./src/ColumnLayout.cpp',
'./src/BoxLayout.cpp',
'./src/Label.cpp',
]
raven_header_files = [
'./src/Box.hpp',
'./src/BoxLayout.hpp',
'./src/Button.hpp',
'./src/ColumnLayout.hpp',
'./src/DocumentLayout.hpp',
'./src/Events.hpp',
'./src/Forward.hpp',
'./src/GenericStyle.hpp',
'./src/Label.hpp',
'./src/Layout.hpp',
'./src/Painter.hpp',
'./src/Point.hpp',
'./src/RGB.hpp',
'./src/RowLayout.hpp',
'./src/ScrollContainer.hpp',
'./src/Styles.hpp',
'./src/Widget.hpp',
'./src/Window.hpp'
]
raven_lib = library(
meson.project_name(),
raven_source_files,
dependencies : raven_dependencies,
install : true
)
raven_dep = declare_dependency(
include_directories : headers,
link_with : raven_lib
)
set_variable('raven_dep', raven_dep)
install_headers(raven_header_files, subdir : meson.project_name())
pkg_mod = import('pkgconfig')
pkg_mod.generate(
name : meson.project_name(),
filebase : meson.project_name(),
description : project_description,
subdirs : meson.project_name(),
libraries : [raven_dependencies, raven_lib]
)
executable(
'ravenapp',
'./src/main.cpp',
dependencies : [raven_dependencies, raven_dep]
)