- just windows-deps / windows / package-windows: cross-compile with Odin objects + lld-link against an xwin SDK, static VC runtime - Release workflow runs on v* tags, builds Linux and Windows packages, uploads them to the package registry and creates a Gitea release - Shared toolchain setup as a local composite action Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
HanjaKanaMun
Odin + raylib memory card game for learning Japanese, Korean and Thai scripts.
Development
Requires Odin (dev-2026-09) and just.
just run # build and play (debug)
just check # type-check with -vet
just test # run tests
just package 1.0 # native release build -> build/HanjaKanaMun_1.0_<os>_<arch>.tar.gz
just windows-deps # Linux only: fetch Windows SDK/CRT (xwin) and raylib.lib
just package-windows 1.0 # cross-compiled Windows build -> build/HanjaKanaMun_1.0_windows_x86_64.zip
The Windows build needs lld-link. On macOS, brew install lld and set LLD_LINK, and point XWIN_SDK and
RAYLIB_WINDOWS at an xwin splat and Odin's Windows vendor/raylib/windows folder (the Linux/macOS Odin releases
don't include raylib.lib).
Neovim
ols.json and odinfmt.json configure the ols language server and formatter.
Install ols (e.g. :MasonInstall ols) and enable it with nvim-lspconfig: vim.lsp.enable('ols').
Formatting goes through ols (vim.lsp.buf.format()), or just fmt if odinfmt is on your PATH.
CI
.gitea/workflows/gitea-build.yaml: check, test and build on pushes and PRs tomainanddevelop..gitea/workflows/gitea-release.yaml: on a version tag likev1.0, builds Linux and Windows packages, uploads them to the Gitea generic package registry (HanjaKanaMun/1.0) and creates a Gitea release with both attached. Needs aTOKENsecret with package write access..gitea/actions/setup: shared toolchain setup (apt packages, Odin, just).
Release: git tag v1.0 && git push origin v1.0
Credits
Font: M PLUS Rounded 1c, SIL Open Font License (assets/MPLUSRounded1c-OFL.txt).