About this project

This is an experimental C++20 framework for shipping raylib games to 17 targets from a single codebase, including Windows, Linux, macOS, Web, Android, iOS, and BSD variants. It features a CI pipeline that builds targets, boots them, and verifies they render pixels on screen. Users edit a minimal set of files: game code in src/, headers in include/, assets in resources/, an icon in branding/, and configuration in raylib_multiplatform.toml. CMakeLists.txt, Gradle properties, iOS project files, and workflow files are generated from the TOML config on every build to prevent drift. The framework provides rmp:: namespaces for UI, assets, ads, and app lifecycle management. It supports resource packing into encrypted .rres files, and plain C entry points are also supported. Publishing is driven by git tags, with versioning derived automatically. Android AABs can be signed via repository secrets, iOS builds produce a simulator app for testing, and itch.io publishing is supported. CI covers compilation for all targets and runtime render verification for Linux, Windows, and Web. BSD, RISC-V, and Windows ARM64 are compiled but not executed. The project is MIT licensed.