mirror of
https://github.com/encounter/aurora.git
synced 2026-07-09 18:19:33 -07:00
docs: add build instructions to README (#174)
* docs: add build instructions to README Resolves #7 Added comprehensive build documentation covering: - Prerequisites (CMake 3.25+, C++20 compiler) - Building included examples - Integrating Aurora into game decomp projects - Available CMake options Verified on macOS with clang by successfully building the simple example. * qa: fix --recursive flag (no submodules) and add missing AURORA_CACHE_USE_ZSTD option - Remove --recursive from clone command: repo uses FetchContent, not submodules - Document AURORA_CACHE_USE_ZSTD option (default: ON) that was missing from the list * move build instructions to docs/building.md
This commit is contained in:
@@ -38,6 +38,10 @@ implementation used is Chromium's [Dawn](https://dawn.googlesource.com/dawn/).
|
||||
|
||||

|
||||
|
||||
### Building
|
||||
|
||||
See [docs/building.md](docs/building.md) for build instructions, CMake integration, and configuration options.
|
||||
|
||||
### License
|
||||
|
||||
Aurora is licensed under the [MIT License](LICENSE).
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user