The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!
Building for OpenBSD
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
Qt5_DIR is necessary because cmake does not know to look for it under
/usr/local/lib/qt5/cmake by default.
-I/usr/local/include is needed for the compiler to find
iconv.h, as the base compiler does not look under
/usr/local/include by default.
-O2 is needed for playable performance; this needs to be set even if
CMAKE_BUILD_TYPE=Release, as it does not set optimization flags by default (perhaps because the base amd64 compiler is clang?)
+ Linking with
-z wxneeded is needed to enable writable-executable memory on OpenBSD. The resulting binary still needs to be run a partition with
wxallowed set in the mount flags;
/usr/local is mounted like this by default.