aboutsummaryrefslogtreecommitdiff
path: root/meson.build
blob: 46be2e1cdedd6f8725a0a11a0f4a58d356c8ebed (plain)
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'],
)