Skip to main content
Zeal requires several dependencies to build and run. This page lists all dependencies and how to install them.

Required Dependencies

These dependencies are required to build Zeal:

CMake

Minimum Version: 3.16.3 (3.21.0+ recommended for presets) CMake is the build system used by Zeal.
brew install cmake

Qt Framework

Minimum Version: 5.15.2 (Qt 5) or 6.2.0 (Qt 6) Zeal supports both Qt 5 and Qt 6. Qt 6 is automatically preferred if available.

Required Qt Modules

  • Qt Concurrent: For multi-threaded operations
  • Qt Gui: GUI framework foundation
  • Qt Network: Network access and HTTP server
  • Qt WebEngine Core: Web rendering engine
  • Qt WebEngine Widgets: Web view widgets
  • Qt Widgets: Widget-based UI components

Platform-Specific Qt Modules

Linux (X11 only): Qt X11 Extras (Qt 5) or Qt Gui Private (Qt 6.10+)Required for global keyboard shortcuts support.
brew install qt@6
# or
brew install qt@5
Qt WebEngine Widgets is required. Some minimal Qt installations may not include it by default.

libarchive

Purpose: Reading compressed docset archives libarchive provides support for reading various archive formats (tar, zip, etc.).
brew install libarchive
On macOS, CMake will automatically look in Homebrew paths (/opt/homebrew/opt/libarchive and /usr/local/opt/libarchive).

SQLite

Purpose: Database operations for docset metadata and search SQLite is used to read docset indexes and manage application data.
brew install sqlite

X11 Libraries (Linux Only)

On X11-based Linux systems, additional libraries are required for global shortcuts:
  • libX11: X11 client library
  • xcb-util-keysyms: XCB keyboard symbols library
  • ECM: Extra CMake Modules (for finding XCB)
sudo apt install libx11-dev libxcb-keysyms1-dev extra-cmake-modules
Without X11 support, global keyboard shortcuts will not work on Linux.

Dependencies via vcpkg

Zeal includes a vcpkg.json manifest for managing dependencies on Windows:
vcpkg.json
{
  "builtin-baseline": "120deac3062162151622ca4860575a33844ba10b",
  "dependencies": [
    {
      "name": "cpp-httplib",
      "default-features": false
    },
    {
      "name": "libarchive",
      "default-features": false
    },
    "openssl",
    "sqlite3",
    "vulkan-headers"
  ]
}

Using vcpkg

1

Install vcpkg

Follow the vcpkg installation guide:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat  # Windows
./bootstrap-vcpkg.sh   # Linux/macOS
2

Set environment variable

Windows (PowerShell)
$env:VCPKG_ROOT="C:\path\to\vcpkg"
Linux/macOS
export VCPKG_ROOT=/path/to/vcpkg
3

Configure with vcpkg

cmake --preset ninja-multi-vcpkg
vcpkg will automatically install the dependencies listed in vcpkg.json.
Qt must still be installed separately. vcpkg does not provide Qt in Zeal’s configuration.

Optional Dependencies

cpp-httplib

Purpose: HTTP server for local API Zeal can use either the system-installed cpp-httplib or a bundled version.
# vcpkg (recommended on Windows)
vcpkg install cpp-httplib

# Or let CMake use the bundled version
# (no action needed - automatic fallback)
Zeal includes a bundled copy of cpp-httplib in src/contrib/. CMake will use it automatically if the system version is not found.

OpenSSL

Purpose: HTTPS support in Qt WebEngine Required for secure connections when viewing documentation.
vcpkg install openssl

Vulkan Headers

Purpose: GPU acceleration in Qt WebEngine Improves rendering performance.
Windows (vcpkg)
vcpkg install vulkan-headers
On Linux and macOS, Vulkan headers are typically included with graphics drivers or Qt WebEngine dependencies.

Build Tool Dependencies

Ninja provides faster builds than Make.
brew install ninja

Compiler Requirements

Zeal requires a C++17-compatible compiler:
  • GCC: 7.0+
  • Clang: 5.0+
  • MSVC: 2017 (15.7)+

Dependency Summary Table

DependencyMinimum VersionPurposeRequired On
CMake3.16.3Build systemAll platforms
Qt5.15.2 / 6.2.0GUI frameworkAll platforms
libarchiveAnyArchive extractionAll platforms
SQLiteAnyDatabase operationsAll platforms
libX11AnyX11 integrationLinux (X11)
xcb-util-keysymsAnyKeyboard shortcutsLinux (X11)
Qt X11 Extras5.15.2+X11 integrationLinux (Qt 5 + X11)
ECMAnyCMake modulesLinux (X11)
OpenSSLAnyHTTPS supportAll platforms (optional)
cpp-httplibAnyHTTP serverAll platforms (bundled fallback)
Vulkan headersAnyGPU accelerationAll platforms (optional)

Next Steps

Building Zeal

Learn how to build Zeal with these dependencies

Platform Notes

Platform-specific dependency installation tips

Build docs developers (and LLMs) love