From source
Build it yourself.
GCC and Clang CI, warnings-as-errors, unit tests, benchmark gates and sanitizer runs all live in the repository. The reproducible path uses Ubuntu 26.04 and Qt 6.10.
Reproducible
Container build
./tools/container_build.shFast path
Already-configured host
./build.sh
./build/virginRelease
Hardened build and tests
cmake -S . -B build-release -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DVIRGIN_ENABLE_HARDENING=ON \
-DVIRGIN_WARNINGS_AS_ERRORS=ON
cmake --build build-release --parallel
ctest --test-dir build-release --output-on-failureCorrectness
ASan / UBSan
cmake -S . -B build-sanitize -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DVIRGIN_ENABLE_SANITIZERS=ON \
-DVIRGIN_ENABLE_HARDENING=OFF
cmake --build build-sanitize --parallel
ctest --test-dir build-sanitize --output-on-failurePackaging
Staging prefix and AppImage
cmake --install build-release --prefix "$PWD/stage"./tools/build_appimage.sh
APPIMAGE_EXTRACT_AND_RUN=1 ./dist/Virgin-0.1.0-x86_64.AppImageUse --runtime-version to verify the Qt and Chromium versions embedded in an artifact.
Deeper reading lives in the repository: docs/architecture.md, docs/release-checklist.md, SECURITY.md and THIRD_PARTY_NOTICES.md.
Open the repository