94 lines
2 KiB
Meson
94 lines
2 KiB
Meson
project(
|
|
'raven',
|
|
'cpp',
|
|
default_options : ['cpp_std=c++17']
|
|
)
|
|
project_description = 'The Raven user interface library'
|
|
|
|
add_project_arguments('-O3', language : 'cpp')
|
|
|
|
cairomm_dep = dependency('cairomm-1.0')
|
|
pangocairo_dep = dependency('pangocairo')
|
|
xlib_dep = dependency('x11')
|
|
librsvg_dep = dependency('librsvg-2.0')
|
|
|
|
raven_dependencies = [
|
|
cairomm_dep,
|
|
xlib_dep,
|
|
pangocairo_dep,
|
|
librsvg_dep
|
|
]
|
|
|
|
headers = include_directories('src')
|
|
|
|
raven_source_files = [
|
|
'./src/SvgUtil.cpp',
|
|
'./src/Box.cpp',
|
|
'./src/Styles.cpp',
|
|
'./src/Painter.cpp',
|
|
'./src/Window.cpp',
|
|
'./src/Widget.cpp',
|
|
'./src/SvgWidget.cpp',
|
|
'./src/ScrollContainer.cpp',
|
|
'./src/Button.cpp',
|
|
'./src/DocumentLayout.cpp',
|
|
'./src/RowLayout.cpp',
|
|
'./src/ColumnLayout.cpp',
|
|
'./src/BoxLayout.cpp',
|
|
'./src/Label.cpp',
|
|
'./src/ListView.cpp',
|
|
]
|
|
|
|
raven_header_files = [
|
|
'./src/SvgUtil.hpp',
|
|
'./src/Logging.hpp',
|
|
'./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/SvgWidget.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]
|
|
)
|