22 lines
1.0 KiB
Markdown
22 lines
1.0 KiB
Markdown
# wlgol
|
|
|
|
Wayland Game of Life in C11; renders into a shared-memory buffer (no GL/Vulkan).
|
|
|
|
## Build & test
|
|
|
|
- Configure: `cmake -G Ninja -B build`
|
|
- Build: `cmake --build ./build`
|
|
- Tests: `ctest --test-dir build` (single target `Hashtable`); or run `./build/test_hashtable`
|
|
- Run app: `./build/wlgol` (requires a running Wayland compositor; not runnable headless)
|
|
|
|
Dependencies: `cmake`, `ninja`, `pkg-config`, `wayland-scanner`; libraries `wayland-client`, `wayland-cursor`, `xkbcommon`.
|
|
|
|
## Generated code
|
|
|
|
- `xdg-shell.h` / `xdg-shell.c` are generated by `wayland-scanner` from the vendored `xdg-shell.xml` into `build/include/` and `build/`. Do not edit them; rebuild to regenerate. `CMakeLists.txt` lists the generated `.c` in `SOURCES` and the `.h` as a source to force generation.
|
|
- `compile_commands.json` at the repo root is a symlink to `build/compile_commands.json`; configure first.
|
|
|
|
## Code notes
|
|
|
|
- Entry point is `wlgol.c`; modules `tkeyboard.c`, `tpointer.c`, `config.c`, `grid.c`, `pattern.c`; headers in `include/`.
|