Files
wlgol/AGENTS.md
T

50 lines
1.1 KiB
Markdown
Raw Normal View History

2026-06-13 10:07:07 +02:00
# wlgol
2026-06-13 10:42:41 +02:00
Simple Wayland Game of Life in C11. Draws directly into a shared-memory buffer (no OpenGL/Vulkan).
2026-06-13 10:07:07 +02:00
2026-06-13 10:42:41 +02:00
- Build definition: `CMakeLists.txt`
- Generated code: `xdg-shell.xml` is vendored; `wayland-scanner` produces `xdg-shell.h` and `xdg-shell.c` inside `build/`
- Source layout: `wlgol.c` is the entry point; `tkeyboard.c`, `tpointer.c`, `hashtable.c` are modules; headers live in `include/`; tests live in `tests/`
2026-06-13 10:07:07 +02:00
2026-06-13 10:42:41 +02:00
## Dependencies
2026-06-13 10:07:07 +02:00
2026-06-13 10:42:41 +02:00
Needs `cmake`, `ninja`, `pkg-config`, `wayland-scanner`, plus the runtime libraries `wayland-client`, `wayland-cursor`, and `xkbcommon`.
2026-06-13 10:07:07 +02:00
2026-06-13 10:42:41 +02:00
## Common commands
2026-06-13 10:07:07 +02:00
2026-06-13 10:42:41 +02:00
Configure (from repo root):
2026-06-13 10:07:07 +02:00
```bash
2026-06-13 10:42:41 +02:00
cmake -G Ninja -B build
2026-06-13 10:07:07 +02:00
```
2026-06-13 10:42:41 +02:00
Build:
2026-06-13 10:07:07 +02:00
```bash
cmake --build ./build
```
2026-06-13 10:22:08 +02:00
Run tests:
```bash
ctest --test-dir build
```
2026-06-13 10:42:41 +02:00
Run a single test directly:
```bash
./build/test_hashtable
```
Run the program (requires a running Wayland compositor):
2026-06-13 10:07:07 +02:00
```bash
./build/wlgol
```
2026-06-13 10:42:41 +02:00
## Notes
- `compile_commands.json` is generated automatically in the build directory because `CMAKE_EXPORT_COMPILE_COMMANDS` is set in `CMakeLists.txt`.
- The project currently has one CTest target named `Hashtable`.