2025-07-23 09:53:45 +02:00
## One word of caution before proceeding.
2025-08-20 00:21:16 +02:00
2025-08-07 22:05:36 +02:00
This is not the usual or preferred way to build programs on FreeBSD.
2025-08-20 00:21:16 +02:00
As of writing there is no official fresh port available for Eden, but it is in the works.
After it is available you can find a link to the eden-emu fresh port here and on Escary's github repo.
See this build as an AppImage alternative for FreeBSD.
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
## Dependencies.
Before we start we need some dependencies.
2025-08-20 00:21:16 +02:00
These dependencies are generally needed to build Eden on FreeBSD.
2025-07-23 09:53:45 +02:00
```
2025-08-07 22:05:36 +02:00
devel/cmake
devel/sdl20
devel/boost-libs
devel/catch2
devel/libfmt
devel/nlohmann-json
devel/ninja
devel/nasm
devel/autoconf
devel/pkgconf
devel/qt6-base
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
multimedia/ffnvcodec-headers
multimedia/ffmpeg
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
audio/opus
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
archivers/liblz4
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
lang/gcc12
2025-07-23 09:53:45 +02:00
2025-08-07 22:05:36 +02:00
graphics/glslang
graphics/vulkan-utility-libraries
2025-07-23 09:53:45 +02:00
```
2025-08-07 22:05:36 +02:00
If using FreeBSD 12 or prior, use `devel/pkg-config` instead.
2025-07-23 09:53:45 +02:00
---
2025-08-07 22:05:36 +02:00
### Build preparations:
2025-07-23 09:53:45 +02:00
Run the following command to clone eden with git:
```sh
git clone --recursive https://git.eden-emu.dev/eden-emu/eden
```
You usually want to add the `--recursive` parameter as it also takes care of the external dependencies for you.
Now change into the eden directory and create a build directory there:
```sh
cd eden
mkdir build
```
Change into that build directory:
```sh
cd build
```
#### 1. Building in Release Mode (usually preferred and the most performant choice):
```sh
cmake .. -GNinja -DYUZU_TESTS=OFF
```
#### 2. Building in Release Mode with debugging symbols (useful if you want to debug errors for a eventual fix):
```sh
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_TESTS=ON
```
Build the emulator locally:
```sh
ninja
```
Optional: If you wish to install eden globally onto your system issue the following command:
```sh
sudo ninja install
```
OR
```sh
doas -- ninja install
```
2025-08-20 00:21:16 +02:00
## OpenSSL
The available OpenSSL port (3.0.17) is out-of-date, and using a bundled static library instead is recommended; to do so, add `-DYUZU_USE_CPM=ON` to your CMake configure command.