Build and Verification
This document is for developers building from source. To use a release package, see Using the Application.
Prerequisites
- Windows 10 or 11
- PowerShell
g++available onPATHthird_party/pdfium/lib/pdfium.dll.libthird_party/pdfium/bin/pdfium.dll- The repository version is managed in
REPO_VERSION.txt.
Dependencies are vendored in the repository. The build and the application must not make external network connections.
Build
./build.ps1
build.ps1 builds the Full edition, Lite edition, and read-only viewer in the Release configuration and writes ready-to-package executables below out/.
To build individual targets:
./scripts/build/build_workspace.ps1 -Edition Full
./scripts/build/build_workspace.ps1 -Edition Lite
./scripts/build/build_readonly_viewer.ps1
./scripts/build/build_workspace.ps1 -Edition Full -Rebuild
Full includes Office-to-PDF conversion; Lite does not. The normal application and read-only viewer are written to out/bin/; the Lite application is written to out/bin_lite/.
Verification
powershell -NoProfile -ExecutionPolicy Bypass -File tests/scripts/run_repo_checks.ps1
python tests/python/validate_codebase.py
python -m unittest tests/python/test_python_tools.py
When changing saving behavior, also run:
powershell -NoProfile -ExecutionPolicy Bypass -File tests/scripts/run_atomic_write_tests.ps1
Create a release set
./release.ps1
Do not distribute out/ directly. Use the Full or Lite folder or ZIP created in a release set. The Full edition includes the verified LibreOffice conversion runtime; Lite does not. To make a short development build of Lite only, use ./build.ps1 -Lite.
Use scripts/release/make_release_set.ps1 or scripts/release/pack_release.ps1 only when adjusting release names, output paths, or bundled contents.