diff options
Diffstat (limited to 'docs/Build.md')
| -rw-r--r-- | docs/Build.md | 52 |
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. |
