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()
)
|