forked from eden-emu/eden
82 lines
1.9 KiB
Markdown
82 lines
1.9 KiB
Markdown
|
## One word of caution before proceeding.
|
||
|
This is not the usual or preferred way to build programs on FreeBSD.
|
||
|
As of writing there is no official fresh port available for eden-emu, but it is in the works.
|
||
|
After it is available you can find a link to the eden-emu fresh port here and on Escarys github repo.
|
||
|
See this build as an App Image alternative for FreeBSD.
|
||
|
|
||
|
## Dependencies.
|
||
|
Before we start we need some dependencies.
|
||
|
These dependencies are generally needed to build eden-emu on FreeBSD.
|
||
|
|
||
|
```
|
||
|
devel/cmake
|
||
|
devel/sdl20
|
||
|
devel/boost-libs
|
||
|
devel/catch2
|
||
|
devel/libfmt
|
||
|
devel/nlohmann-json
|
||
|
devel/ninja
|
||
|
devel/nasm
|
||
|
devel/autoconf
|
||
|
devel/pkg-config
|
||
|
devel/qt6-base
|
||
|
|
||
|
multimedia/ffnvcodec-headers
|
||
|
multimedia/ffmpeg
|
||
|
|
||
|
audio/opus
|
||
|
|
||
|
archivers/liblz4
|
||
|
|
||
|
lang/gcc12
|
||
|
|
||
|
graphics/glslang
|
||
|
graphics/vulkan-utility-libraries
|
||
|
```
|
||
|
|
||
|
---
|
||
|
|
||
|
### Build preparations:
|
||
|
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
|
||
|
```
|
||
|
|
||
|
Now choose one option either 1 or 2, but not both as one option overwrites the other.
|
||
|
|
||
|
#### 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
|
||
|
```
|