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:
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:
cd eden
mkdir build
Change into that build directory:
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):
cmake .. -GNinja -DYUZU_TESTS=OFF
2. Building in Release Mode with debugging symbols (useful if you want to debug errors for a eventual fix):
cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_TESTS=ON
Build the emulator locally:
ninja
Optional: If you wish to install eden globally onto your system issue the following command:
sudo ninja install
OR
doas -- ninja install