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
|
# This is heavily based on `wtype`
project(
'qmk-unicode-type', 'c',
version: '0.1',
license: 'GPL-3.0-or-later',
default_options : [
'buildtype=release',
'default_library=static'
],
)
git = find_program('git', native: true, required: false)
if not git.found()
add_project_arguments('-DVERSION="@0@"'.format(meson.project_version()), language: 'c')
else
git_commit_hash = run_command([git.full_path(), 'describe', '--always', '--tags'], check: true).stdout().strip()
git_branch = run_command([git.full_path(), 'rev-parse', '--abbrev-ref', 'HEAD'], check: true).stdout().strip()
version = '"@0@ (" __DATE__ ", branch \'@1@\')"'.format(git_commit_hash, git_branch)
add_project_arguments('-DVERSION=@0@'.format(version), language: 'c')
endif
cc = meson.get_compiler('c')
wayland_client = dependency('wayland-client')
libhid = dependency('hidapi-hidraw')
rt = cc.find_library('rt')
src_files = files(
'./src/error.c',
'./src/hid/hid.c',
'./src/keyboard/keyboard.c',
'./src/main.c',
)
subdir('protocol')
executable(
meson.project_name(),
src_files,
dependencies: [
client_protos,
wayland_client,
libhid,
rt,
],
)
|