1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
project('saffron', 'c')
deps = []
deps += dependency('sdl3')
deps += dependency('sdl3-ttf')
inc = include_directories('include')
sources = [
'src/saffron.c',
'src/saffron_window.c',
'src/saffron_widget.c',
'src/saffron_layout.c',
'src/saffron_text.c',
'src/saffron_button.c',
'src/saffron_event_hooks.c',
]
saffron_lib = static_library('saffron',
sources,
include_directories: inc,
dependencies: deps,
install: true,
install_dir: 'lib'
)
install_headers(
'include/saffron.h',
'include/saffron_api.h',
'include/saffron_button.h',
'include/saffron_layout.h',
'include/saffron_text.h',
'include/saffron_theme.h',
'include/saffron_widget.h',
'include/saffron_window.h',
'include/saffron_event_hooks.h',
subdir: 'saffron'
)
test_deps = []
test_deps += dependency('sdl3', static: true)
test_deps += dependency('sdl3-ttf', static: true)
saffron_dep = declare_dependency(link_with: saffron_lib, include_directories: inc, dependencies: deps)
test_deps += saffron_dep
executable('saffron_test', 'tests/test_main.c', dependencies: test_deps)
executable('saffron_hooks_test', 'tests/test_hooks.c', dependencies: test_deps)
pkg = import('pkgconfig')
pkg.generate(saffron_lib,
subdirs: 'saffron',
version: '0.1',
name: 'saffron',
filebase: 'saffron',
description: 'Lightweight UI framework built on top of SDL3',
requires: ['sdl3', 'sdl3-ttf'],
)
|