Building QuakeLive-reverse
May 26, 2026 ยท View on GitHub
This file is the short entry point for building the reconstructed codebase.
Use it for the common commands, then follow the deeper docs under docs/build/
when you need platform-specific detail or parity validation.
Build success does not currently imply a fully playable Quake Live clone. This repository is still reconstructing retail behavior and uses build output as one part of the parity workflow.
Windows native build
Windows is the primary native build path in this repository.
Requirements:
- Retail-faithful path: Visual Studio 2010 SP1, or a newer Visual Studio
install with the
v100toolset available - Modern-host compatibility path: a newer Visual Studio install with the
Visual Studio 2017
v141toolset available - MSBuild on
PATH - CMake on
PATHfor the repo-managed codec bootstrap - Repo-managed third-party codec sources under
src/libs/_deps/The Windows projects now bootstraplibogg,libvorbis,zlib, andlibpngfrom that tree instead of probing system SDK or Vcpkg installs.
Build the recovered native gameplay modules and helper executable with the retail-default toolset:
msbuild src\code\quakelive.sln /t:qagamex86;cgamex86;awesomium_process /p:Configuration=Debug /p:Platform=x86 /p:PlatformToolset=v100
Build the same native targets with the supported modern compatibility override:
pwsh tools\ci\install-vs-toolset.ps1 -PlatformToolset v141
pwsh tools\ci\verify-vs-toolchain.ps1 -PlatformToolset v141 -RequireToolset
msbuild src\code\quakelive.sln /t:qagamex86;cgamex86;awesomium_process /p:Configuration=Debug /p:Platform=x86 /p:PlatformToolset=v141
Main outputs:
build/win32/Debug/modules/qagamex86/qagamex86.dllbuild/win32/Debug/modules/cgamex86/cgamex86.dllbuild/win32/Debug/bin/awesomium_process.exe
The legacy VM targets remain available:
msbuild src\code\quakelive.sln /t:game;cgame /p:Configuration=Debug /p:Platform=x86
Useful validation commands:
pwsh tools\ci\audit-retail-toolchain.ps1 -Strict
pwsh tools\ci\audit-retail-dependencies.ps1 -Strict
pwsh tools\ci\audit-retail-metadata.ps1
Modern-host validation command:
pwsh tools\ci\validate-windows-native.ps1 -PlatformToolset v141 -RuntimeProfile modern
Hosted nightly builds use the same modern compatibility lane, then generate an external manifest version and package rebuilt outputs without changing the retail-aligned executable metadata:
python tools\ci\nightly_build.py version --output artifacts\nightly\version.json
python tools\ci\nightly_build.py package --configuration Release --manifest artifacts\nightly\version.json --runtime-profile modern --toolset v141
Notes:
- Solution builds use
/p:Platform=x86; direct.vcxprojbuilds use/p:Platform=Win32. - The checked-in project defaults remain on
v100for parity.v141is a deliberate command-line override for contributor compatibility on modern Windows hosts. - On Windows, non-retail third-party dependencies are now expected to come from
the repo-managed bootstrap flow only. The retail DLL payload remains a
runtime concern under
assets/quakelive/; it is no longer part of the non-retail codec build detection story. QLBuildOnlineServicesdefaults to0. Keep it disabled unless you are explicitly validating online-service parity or the Awesomium helper path.
See the full Windows guide at docs/build/windows.md.
Linux glibc 32-bit build
Linux support is currently limited to the 32-bit qagamei386.so server module.
On Debian/Ubuntu-style hosts, install the 32-bit glibc and X11/OpenGL development stack described in the platform guide, then run:
BUILD_DIR=build/linux-i386-glibc tools/build/linux32_qagame.sh
Key outputs:
build/linux-i386-glibc/baseq3/qagamei386.sobuild/linux-i386-glibc/qagame.exportsbuild/linux-i386-glibc/qagame-reference.exportsbuild/linux-i386-glibc/qagame.exports.diff
See the full Linux guide at
docs/build/linux-glibc-32bit.md.