# wlgol Simple Wayland Game of Life in C11. Draws directly into a shared-memory buffer (no OpenGL/Vulkan). - 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/` ## Dependencies Needs `cmake`, `ninja`, `pkg-config`, `wayland-scanner`, plus the runtime libraries `wayland-client`, `wayland-cursor`, and `xkbcommon`. ## Common commands Configure (from repo root): ```bash cmake -G Ninja -B build ``` Build: ```bash cmake --build ./build ``` Run tests: ```bash ctest --test-dir build ``` Run a single test directly: ```bash ./build/test_hashtable ``` Run the program (requires a running Wayland compositor): ```bash ./build/wlgol ``` ## 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`.