This guide describes how to build MMapper from source on Linux, macOS, and Windows using CMake and Ninja. For tested build configurations, see the GitHub Actions workflows. Additional information can be found in AGENTS.md.
Ensure the following tools are installed:
- A C++17-compatible compiler (e.g., GCC, Clang, MSVC)
- CMake 3.20+
- Ninja
- Qt 6.4+ (6.8.3 recommended) with
QtWebSocketsandQtMultimedia
git clone https://github.com/MUME/MMapper.git
cd MMapperIf you have Docker installed, you can build and run the Web client locally without installing a full development environment:
docker compose up --build -dOnce the build completes, open your browser to: http://localhost:8080
Install the required packages with:
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev libssl-dev libglm-dev cmake ninja-build qt6-base-dev qt6-base-dev-tools libqt6opengl6-dev libqt6websockets6-dev qtkeychain-qt6-dev qt6-multimedia-dev libqt6svg6-devAfter installing dependencies, build as usual:
mkdir build
cd build
cmake -G Ninja -DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON -S ..
cmake --build . --parallelInstall dependencies with Homebrew and aqtinstall:
brew install cmake ninja aqtinstall
aqt install-qt mac desktop 6.8.3 clang_64 -m qtwebsockets qtmultimediaMake sure Xcode Command Line Tools are installed:
xcode-select --installAdd Qt to your PATH:
echo 'export PATH="~/6.8.3/macos/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcThen build:
mkdir build
cd build
cmake -G Ninja -DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON -S ..
cmake --build . --parallelmacOS 15+ users: If you encounter a linker error ld: framework 'AGL' not found, edit the file ~/6.8.3/macos/lib/cmake/Qt6/FindWrapOpenGL.cmake and comment out lines 40-51 (the AGL framework references). The AGL framework was removed from macOS 15.
Install:
- Python +
pip install aqtinstall - CMake, Ninja, NSIS, 7-Zip
- Visual Studio with Desktop development with C++
aqt install-qt windows desktop 6.8.3 win64_msvc2022_64 -m qtwebsockets qtmultimediaAdd Qt\6.8.3\msvc2022_64\bin to PATH.
aqt install-qt windows desktop 6.8.3 win64_mingw -m qtwebsockets qtmultimedia
aqt install-tool windows desktop tools_mingw1310Add both Qt and MingW bin directories to PATH.
From the project root:
mkdir build
cd build
cmake -G Ninja -DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON -S ..
cmake --build . --parallelctestcpackOur GitHub Actions workflow defines the tested build environment across platforms.
If you're troubleshooting local issues, consider comparing your setup with the Docker images or tool versions used in CI.