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