summary refs log tree commit diff stats
path: root/rust/qmk-hid-com/src_c/meson.build
blob: 9e8357f3ef645522aeb42a061990ca7bb12719ad (plain) (blame)
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,
    ],
)