Building for OpenBSD - Zapeth/citra GitHub Wiki
OpenBSD is not officially supported. These instructions are not actively updated and represent what happened to work for one user on amd64 in March 2018.
Install the required packages: (Please amend if you notice some are missing, I did not test this on a clean installation!)
pkg_add cmake sdl2 qtbase
The repository uses submodules, so remember to clone it recursively:
git clone --recursive https://github.com/citra-emu/citra
cd citra
To build, run the following in the repository root directory:
mkdir build && cd build
export Qt5_DIR=/usr/local/lib/qt5/cmake/Qt5
cmake \
-DCMAKE_CXX_FLAGS='-I/usr/local/include -O2' \
-DCMAKE_EXE_LINKER_FLAGS='-z wxneeded' ..
make
Rationale:
- Setting
Qt5_DIRis necessary because cmake does not know to look for it under/usr/local/lib/qt5/cmakeby default. -I/usr/local/includeis needed for the compiler to findiconv.h, as the base compiler does not look under/usr/local/includeby default.-O2is needed for playable performance; this needs to be set even ifCMAKE_BUILD_TYPE=Release, as it does not set optimization flags by default (perhaps because the base amd64 compiler is clang?)- Linking with
-z wxneededis needed to enable writable-executable memory on OpenBSD. The resulting binary still needs to be run a partition withwxallowedset in the mount flags;/usr/localis mounted like this by default.