summaryrefslogtreecommitdiff
path: root/meson.build
blob: 112f18409e396e2fcdefd19e77613bd15de07e1f (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
project(
  'sia-server',
  version : '0.0.0-dev',
)

subdir('configs')
subdir('systemd')

go = find_program('go', required : true)
tar = find_program('tar', required : true)

fs = import('fs')

readme = fs.copyfile(meson.current_source_dir() / 'README.md')
changelog = fs.copyfile(meson.current_source_dir() / 'CHANGELOG.md')

sia_server_linux_amd64 = custom_target(
  input : [
    meson.current_source_dir() / 'main.go',
    meson.current_source_dir() / 'cache.go',
    meson.current_source_dir() / 'mqtt.go',
    meson.current_source_dir() / 'homematic.go',
    meson.current_source_dir() / 'config.go',
    meson.current_source_dir() / 'flags.go',
  ],
  output : 'sia-server-linux-amd64',
  env : {'GOOS': 'linux', 'GOARCH': 'amd64'},
  command : [
    go,
    'build',
    '-o',
    '@OUTPUT@',
    '@INPUT@',
  ],
)

artifacts = [
  sia_server_linux_amd64,
  default_config,
  systemd_service,
  sysuser_config,
  readme,
  changelog,
]

archive = custom_target(
  input : artifacts,
  output : 'sia-server-v' + meson.project_version() + '.tar.zst',
  command : [
    tar,
    '--zstd',
    '-cf',
    '@OUTPUT@',
    '@INPUT@',
  ],
  build_by_default : true,
)

run_target(
  'run',
  command : [
    sia_server_linux_amd64,
  ],
)

test(
  'unit-tests',
  go,
  args: ['test', './...'],
  workdir: meson.current_source_dir()
)