mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-25 22:25:07 +00:00
a9ad53ca8d8a29547e8b2e0e1d66e0b50dc323ec
SDL3CPlusPlus
Minimal SDL3 + Vulkan spinning cube demo.
Cheat sheet
Dependencies
python scripts/dev_commands.py dependenciesinstalls the Conan graph inbuild.
Configure & build
python scripts/dev_commands.py configuredefaults to Ninja+MSVC on Windows or plain Ninja on Linux/macOS, writing into the matchingbuild-ninja-msvc/build-ninjafolder with theReleasebuild type; override the generator or build directory with--generator/--build-dirif you need something else.python scripts/dev_commands.py buildrunscmake --buildin the same folder (change--build-dirto match a different configure directory).python scripts/dev_commands.py msvc-quick(Windows only) runs the VC vars + Ninja build alias; pass--bat-pathto target a different Visual Studio installation.python scripts/dev_commands.py runlaunchessdl3_app(use--targetto run another executable and--argsto forward CLI arguments).- Prefix any subcommand with
--dry-runto print the alias-driven shell command without executing it.
Run
python scripts/dev_commands.py run [--build-dir ...](sourcebuild/conanrun.sh/build\conanrun.batfirst if the Conan runtime exports env vars).
Runtime configuration
sdl3_app --json-file-in <path>loads JSON configs (script path, window size,lua_debug, etc.).sdl3_app --create-seed-json config/seed_runtime.jsonwrites a starter file assumingscripts/cube_logic.luasits beside the binary.sdl3_app --set-default-json [path]stores or overrides the runtime JSON; Windows writes%APPDATA%/sdl3cpp, other OSes use$XDG_CONFIG_HOME/sdl3cpp/default_runtime.json(fallback~/.config/sdl3cpp).
GUI Demo
scripts/gui_demo.lua paints the Lua GUI framework on top of the Vulkan scene. Launch it as ./build/sdl3_app --json-file-in config/gui_runtime.json or register that config via sdl3_app --set-default-json.
Languages
C++
67.8%
C
27.7%
Python
0.8%
Lua
0.8%
Yacc
0.6%
Other
1.9%