eden/docs/build/FreeBSD.md
crueter 428f136a75
[cmake] CPMUtil: formatting, git_host, new repos, more system deps, libusb (#392)
I promise I'm a UI developer

- mbedtls can now be used as a system package
- zycore can now be used as a system package
- cleaned up dynarmic externals
- fixed libusb incorrectly showing as bundled
- add version/tag formatting to JSON
- add custom GIT_HOST option for packages
- moved some of my repos to my new git
- slightly better version identification
- combined VUL/VH since they are codependent (using my combo vendor)
- fix cpmfile inclusion
- remove libusb submodule

This PR succeeds #383 since it includes it

Co-authored-by: SDK Chan <sdkchan@eden-emu.dev>
Reviewed-on: eden-emu/eden#392
Co-authored-by: crueter <crueter@crueter.xyz>
Co-committed-by: crueter <crueter@crueter.xyz>
2025-09-08 19:21:38 +02:00

1.7 KiB

Eden is not currently available as a port on FreeBSD, though it is in the works. For now, the recommended method of usage is to compile it yourself. Check back often, as the build process frequently changes.

Dependencies.

Eden needs the following dependencies:

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

net/enet

multimedia/ffnvcodec-headers
multimedia/ffmpeg

audio/opus

archivers/liblz4

lang/gcc12

graphics/glslang
graphics/vulkan-utility-libraries

If using FreeBSD 12 or prior, use devel/pkg-config instead.


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

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

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.