2022-07-09 20:19:09 +03:00
|
|
|
project(
|
|
|
|
'raven',
|
|
|
|
'cpp',
|
|
|
|
default_options : ['cpp_std=c++17']
|
|
|
|
)
|
2022-07-12 00:05:30 +03:00
|
|
|
project_description = 'The Raven user interface library'
|
2022-01-22 17:51:54 +02:00
|
|
|
|
2022-07-31 23:14:16 +03:00
|
|
|
add_project_arguments('-O3', language : 'cpp')
|
2022-07-27 02:32:33 +03:00
|
|
|
|
2022-01-22 17:51:54 +02:00
|
|
|
cairomm_dep = dependency('cairomm-1.0')
|
|
|
|
pangocairo_dep = dependency('pangocairo')
|
|
|
|
xlib_dep = dependency('x11')
|
2022-07-27 03:26:58 +03:00
|
|
|
librsvg_dep = dependency('librsvg-2.0')
|
2022-01-22 17:51:54 +02:00
|
|
|
|
2022-07-12 00:05:30 +03:00
|
|
|
raven_dependencies = [
|
|
|
|
cairomm_dep,
|
|
|
|
xlib_dep,
|
2022-07-27 03:26:58 +03:00
|
|
|
pangocairo_dep,
|
|
|
|
librsvg_dep
|
2022-07-12 00:05:30 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
headers = include_directories('src')
|
|
|
|
|
|
|
|
raven_source_files = [
|
2022-07-31 23:14:16 +03:00
|
|
|
'./src/SvgUtil.cpp',
|
2022-07-09 20:19:09 +03:00
|
|
|
'./src/Box.cpp',
|
|
|
|
'./src/Styles.cpp',
|
|
|
|
'./src/Painter.cpp',
|
2022-10-26 22:13:07 +03:00
|
|
|
'./src/Application.cpp',
|
2022-07-09 20:19:09 +03:00
|
|
|
'./src/Window.cpp',
|
|
|
|
'./src/Widget.cpp',
|
2022-07-27 03:26:58 +03:00
|
|
|
'./src/SvgWidget.cpp',
|
2022-07-09 20:19:09 +03:00
|
|
|
'./src/ScrollContainer.cpp',
|
|
|
|
'./src/Button.cpp',
|
|
|
|
'./src/DocumentLayout.cpp',
|
|
|
|
'./src/BoxLayout.cpp',
|
2022-10-28 02:26:31 +03:00
|
|
|
'./src/ListLayout.cpp',
|
2022-07-09 20:19:09 +03:00
|
|
|
'./src/Label.cpp',
|
2022-10-15 00:54:46 +03:00
|
|
|
'./src/ListView.cpp',
|
2022-10-16 22:52:23 +03:00
|
|
|
'./src/TextInput.cpp',
|
2022-07-12 00:05:30 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
raven_header_files = [
|
2022-07-31 23:14:16 +03:00
|
|
|
'./src/SvgUtil.hpp',
|
2022-07-30 17:01:59 +03:00
|
|
|
'./src/Logging.hpp',
|
2022-07-12 00:05:30 +03:00
|
|
|
'./src/Box.hpp',
|
|
|
|
'./src/BoxLayout.hpp',
|
|
|
|
'./src/Button.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/ScrollContainer.hpp',
|
2022-10-28 02:26:31 +03:00
|
|
|
'./src/ListLayout.hpp',
|
2022-07-12 00:05:30 +03:00
|
|
|
'./src/Styles.hpp',
|
|
|
|
'./src/Widget.hpp',
|
2022-07-27 03:26:58 +03:00
|
|
|
'./src/SvgWidget.hpp',
|
2022-10-26 22:13:07 +03:00
|
|
|
'./src/Application.hpp',
|
2022-10-29 13:08:00 +03:00
|
|
|
'./src/Window.hpp',
|
|
|
|
'./src/TextInput.hpp',
|
2022-07-12 00:05:30 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
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(),
|
2022-07-26 01:04:16 +03:00
|
|
|
libraries : [raven_dependencies, raven_lib]
|
2022-07-12 00:05:30 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'ravenapp',
|
2022-07-09 20:19:09 +03:00
|
|
|
'./src/main.cpp',
|
2022-07-12 00:05:30 +03:00
|
|
|
dependencies : [raven_dependencies, raven_dep]
|
2022-03-08 02:25:22 +02:00
|
|
|
)
|