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_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 findiconv.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 ifCMAKE_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 withwxallowed
set in the mount flags;/usr/local
is mounted like this by default.