aboutsummaryrefslogtreecommitdiff
path: root/docs/Build.md
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-01-30 11:35:39 +0100
committercrueter <crueter@eden-emu.dev>2026-01-30 11:35:39 +0100
commita692986bd7d1c1f4363c2d70cceac7b6a23a113a (patch)
tree591197a4142f82cb04d029c8b45f5a0515066d49 /docs/Build.md
parent979ea5563b3825083b4ed45e81d76abef49891ad (diff)
[docs] reorg a bit, add AI policy, rewrite release policy (#3423)
mdlint, AI policy, and an actual release policy that doesn't suck. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3423 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev>
Diffstat (limited to 'docs/Build.md')
-rw-r--r--docs/Build.md52
1 files changed, 28 insertions, 24 deletions
diff --git a/docs/Build.md b/docs/Build.md
index 6e1df54198..394fe4871d 100644
--- a/docs/Build.md
+++ b/docs/Build.md
@@ -6,9 +6,11 @@
This is a full-fledged guide to build Eden on all supported platforms.
## Dependencies
+
First, you must [install some dependencies](Deps.md).
## Clone
+
Next, you will want to clone Eden via the terminal:
```sh
@@ -53,30 +55,35 @@ Hit "Configure Project", then wait for CMake to finish configuring (may take a w
> [!WARNING]
>For all systems:
+>
>- *CMake* **MUST** be in your PATH (and also *ninja*, if you are using it as `<GENERATOR>`)
>- You *MUST* be in the cloned *Eden* directory
>
>On Windows:
-> - It's recommended to install **[Ninja](https://ninja-build.org/)**
-> - You must load **Visual C++ development environment**, this can be done by running our convenience script:
-> - `tools/windows/load-msvc-env.ps1` (for PowerShell 5+)
-> - `tools/windows/load-msvc-env.sh` (for MSYS2, Git Bash, etc)
+>
+> - It's recommended to install **[Ninja](https://ninja-build.org/)**
+> - You must load **Visual C++ development environment**, this can be done by running our convenience script:
+> - `tools/windows/load-msvc-env.ps1` (for PowerShell 5+)
+> - `tools/windows/load-msvc-env.sh` (for MSYS2, Git Bash, etc)
Available `<GENERATOR>`:
+
- MSYS2: `MSYS Makefiles`
- MSVC: `Ninja` (preferred) or `Visual Studio 17 2022`
- macOS: `Ninja` (preferred) or `Xcode`
- Others: `Ninja` (preferred) or `UNIX Makefiles`
Available `<BUILD_TYPE>`:
+
- `Release` (default)
- `RelWithDebInfo` (debug symbols--compiled executable will be large)
- `Debug` (if you are using a debugger and annoyed with stuff getting optimized out)
Caveat for Debug Builds:
+
- If you're building with CCache, you will need to add the environment variable `CL` with the `/FS` flag ([Reference](https://learn.microsoft.com/pt-br/cpp/build/reference/fs-force-synchronous-pdb-writes?view=msvc-170))
-Also see the [Options](Options.md) page for additional CMake options.
+Also see the root CMakeLists.txt for more build options. Usually the default will provide the best experience, however.
```sh
cmake -S . -B build -G "<GENERATOR>" -DCMAKE_BUILD_TYPE=<BUILD_TYPE> -DYUZU_TESTS=OFF
@@ -95,7 +102,7 @@ cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COM
<details>
<summary>Click to Open</summary>
-* Clone the Repository:
+- Clone the Repository:
<img src="https://user-images.githubusercontent.com/42481638/216899046-0d41d7d6-8e4d-4ed2-9587-b57088af5214.png" width="500">
<img src="https://user-images.githubusercontent.com/42481638/216899061-b2ea274a-e88c-40ae-bf0b-4450b46e9fea.png" width="500">
@@ -105,26 +112,26 @@ cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COM
### Building & Setup
-* Once Cloned, You will be taken to a prompt like the image below:
+- Once Cloned, You will be taken to a prompt like the image below:
<img src="https://user-images.githubusercontent.com/42481638/216899092-3fe4cec6-a540-44e3-9e1e-3de9c2fffc2f.png" width="500">
-* Set the settings to the image below:
-* Change `Build type: Release`
-* Change `Name: Release`
-* Change `Toolchain Visual Studio`
-* Change `Generator: Let CMake decide`
-* Change `Build directory: build`
+- Set the settings to the image below:
+- Change `Build type: Release`
+- Change `Name: Release`
+- Change `Toolchain Visual Studio`
+- Change `Generator: Let CMake decide`
+- Change `Build directory: build`
<img src="https://user-images.githubusercontent.com/42481638/216899164-6cee8482-3d59-428f-b1bc-e6dc793c9b20.png" width="500">
-* Click OK; now Clion will build a directory and index your code to allow for IntelliSense. Please be patient.
-* Once this process has been completed (No loading bar bottom right), you can now build eden
-* In the top right, click on the drop-down menu, select all configurations, then select eden
+- Click OK; now Clion will build a directory and index your code to allow for IntelliSense. Please be patient.
+- Once this process has been completed (No loading bar bottom right), you can now build eden
+- In the top right, click on the drop-down menu, select all configurations, then select eden
<img src="https://user-images.githubusercontent.com/42481638/216899226-975048e9-bc6d-4ec1-bc2d-bd8a1e15ed04.png" height="500" >
-* Now run by clicking the play button or pressing Shift+F10, and eden will auto-launch once built.
+- Now run by clicking the play button or pressing Shift+F10, and eden will auto-launch once built.
<img src="https://user-images.githubusercontent.com/42481638/216899275-d514ec6a-e563-470e-81e2-3e04f0429b68.png" width="500">
</details>
@@ -132,6 +139,7 @@ cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COM
## Troubleshooting
If your initial configure failed:
+
- *Carefully* re-read the [dependencies guide](Deps.md)
- Clear the CPM cache (`.cache/cpm`) and CMake cache (`<build directory>/CMakeCache.txt`)
- Evaluate the error and find any related settings
@@ -153,20 +161,16 @@ Simply hit Ctrl+B, or the "hammer" icon in the bottom left. To run, hit the "pla
If you are using the `UNIX Makefiles` or `Visual Studio 17 2022` as `<GENERATOR>`, you should also add `--parallel` for faster build times.
-```
+```sh
cmake --build build
```
Your compiled executable will be in:
+
- `build/bin/eden.exe` for Windows,
- `build/bin/eden.app/Contents/MacOS/eden` for macOS,
- and `build/bin/eden` for others.
## Scripts
-Some platforms have convenience scripts provided for building.
-
-- **[Linux](scripts/Linux.md)**
-- **[Windows](scripts/Windows.md)**
-
-macOS scripts will come soon.
+Take a look at our [CI scripts](https://github.com/Eden-CI/Workflow). You can use `.ci/common/configure.sh` on any POSIX-compliant shell, but you are heavily encouraged to instead write your own based. It's not really that hard, provided you can read CMake.