https://github.com/rorgoroth/mingw-cmake-env
Minimal Mingw64 build env using CMake. Used for building projects such as mpv, urban terror, quake3e, iortcw, openarena, q2pro, ffmpeg (librempeg) and xonotic.
https://github.com/rorgoroth/mingw-cmake-env
ffmpeg librempeg mingw mpv mpv-player openarena q2pro q3e quake3 quake3e urbanterror windows xonotic
Last synced: about 2 months ago
JSON representation
Minimal Mingw64 build env using CMake. Used for building projects such as mpv, urban terror, quake3e, iortcw, openarena, q2pro, ffmpeg (librempeg) and xonotic.
- Host: GitHub
- URL: https://github.com/rorgoroth/mingw-cmake-env
- Owner: rorgoroth
- Created: 2021-05-18T09:34:24.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2026-04-25T21:01:39.000Z (2 months ago)
- Last Synced: 2026-04-25T23:02:55.162Z (2 months ago)
- Topics: ffmpeg, librempeg, mingw, mpv, mpv-player, openarena, q2pro, q3e, quake3, quake3e, urbanterror, windows, xonotic
- Language: CMake
- Homepage:
- Size: 6.58 MB
- Stars: 12
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
This is a stripped down version of [shinchiro/mpv-winbuild-cmake](https://github.com/shinchiro/mpv-winbuild-cmake).
This is only tested on Alpine Linux and only 64bit Windows 10 and above is supported.
## Precompiled Packages
See the [Releases](https://github.com/rorgoroth/mingw-cmake-env/releases) page.
These all come with update scripts, however if one breaks it is on you to keep backups. In the event of breakage please check out the [Actions](https://github.com/rorgoroth/mingw-cmake-env/actions) and download the artifacts from a previous working build. All updater scripts require [7z](https://www.7-zip.org/) to be installed.
[Librempeg (FFmpeg)](https://github.com/librempeg/librempeg): CLI tool for processing of video and audio files, git builds.
[mpv](https://github.com/mpv-player/mpv): Media player, git builds.
[Quake3e](https://github.com/ec-/Quake3e): Quake3 optimized client using Vulkan, git builds.
[Quake3e Urban Terror](https://github.com/rorgoroth/Quake3e-UrbanTerror): Quake3 mod and standalone game, client only (based on Quake3e, using Vulkan), git builds.
[xonotic](https://github.com/rorgoroth/darkplaces-mingw-w64): Client only, git builds.
### Retired Packages
[Quake2pro](https://github.com/rorgoroth/q2pro): Enhanced Quake 2 client and server focused on multiplayer, git builds. See projects release page for the final binary release.
[Quake3e OpenArena](https://github.com/rorgoroth/Quake3e-OpenArena): OpenArena compatible client based on quake3e. See projects release page for the final binary release, also consider using a better alternative: [OmegA-engine](https://github.com/Bishop-333/OmegA-engine)
## Build Instructions
Basic build deps:
```bash
apk add -i 7zip autoconf automake bash ccache clang cmake coreutils curl diffutils g++ gawk gcc gettext-dev git gperf libtool lld llvm llvm-linker-tools make meson musl-dev nasm patch pkgconf po4a py3-jinja2 py3-mako samurai texinfo util-linux-misc yasm
```
Setup/Build:
```bash
git clone https://github.com/rorgoroth/mingw-cmake-env.git
cd mingw-cmake-env
ccmake -Bbuild -G Ninja
ninja -C build llvm
ninja -C build $package
```
Where `$package` is, for example, `mpv` - by default all packages are built which is probably not what you want so specify the package you want, it also accepts multiple targets. The toolchain is excluded by default, so if there are updates to toolchain you need to manually run `ninja -C build llvm`.
The toolchain now uses precompiled clang/llvm from [rorgoroth/llvm-mingw](https://github.com/rorgoroth/llvm-mingw). The precompiled toolchain only works on Alpine, it will not work on Ubuntu or anything else. You'll need to build it yourself outside of Alpine. You should set up an Alpine container for this project.