project('sia-server') go = find_program('go', required : true) tar = find_program('tar', required : true) 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, ] archive = custom_target( input : artifacts, output : 'sia-server.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() )