mirror of
https://github.com/encounter/aurora.git
synced 2026-07-09 18:19:33 -07:00
57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
|
|
# Building
|
||
|
|
|
||
|
|
## Prerequisites
|
||
|
|
|
||
|
|
- CMake 3.25 or later
|
||
|
|
- A C++20 compatible compiler (Clang, GCC, or MSVC)
|
||
|
|
- Git (for cloning)
|
||
|
|
|
||
|
|
## Building the Examples
|
||
|
|
|
||
|
|
To build Aurora's included examples:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone https://github.com/encounter/aurora.git
|
||
|
|
cd aurora
|
||
|
|
mkdir build && cd build
|
||
|
|
cmake ..
|
||
|
|
cmake --build . --target simple
|
||
|
|
```
|
||
|
|
|
||
|
|
The `simple` example demonstrates a minimal Aurora application with a blue screen. The built executable will be in `build/examples/simple`.
|
||
|
|
|
||
|
|
## Using Aurora in Your Project
|
||
|
|
|
||
|
|
Aurora is designed to be integrated as a library in GameCube/Wii decompilation projects.
|
||
|
|
|
||
|
|
**CMakeLists.txt example:**
|
||
|
|
|
||
|
|
```cmake
|
||
|
|
cmake_minimum_required(VERSION 3.25)
|
||
|
|
project(your_game)
|
||
|
|
|
||
|
|
# Add Aurora as a subdirectory
|
||
|
|
add_subdirectory(extern/aurora EXCLUDE_FROM_ALL)
|
||
|
|
|
||
|
|
# Create your executable
|
||
|
|
add_executable(your_game src/main.c)
|
||
|
|
|
||
|
|
# Link against Aurora components
|
||
|
|
target_link_libraries(your_game PRIVATE
|
||
|
|
aurora::core
|
||
|
|
aurora::gx
|
||
|
|
aurora::main
|
||
|
|
aurora::vi
|
||
|
|
)
|
||
|
|
```
|
||
|
|
|
||
|
|
See [examples/simple.c](../examples/simple.c) for a minimal application template.
|
||
|
|
|
||
|
|
## CMake Options
|
||
|
|
|
||
|
|
- `AURORA_ENABLE_GX` (default: ON) - Enable GX implementation and WebGPU renderer
|
||
|
|
- `AURORA_ENABLE_DVD` (default: OFF) - Enable DVD implementation backed by nod
|
||
|
|
- `AURORA_ENABLE_CARD` (default: ON) - Enable CARD implementation based on kabufuda
|
||
|
|
- `AURORA_ENABLE_RMLUI` (default: OFF) - Enable HTML/CSS based UI library
|
||
|
|
- `AURORA_CACHE_USE_ZSTD` (default: ON) - Compress WebGPU cache entries with zstd
|