This page covers platform-specific considerations when building Zeal on different operating systems.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/zealdocs/zeal/llms.txt
Use this file to discover all available pages before exploring further.
Windows
Building Zeal on Windows requires careful dependency management. Using vcpkg is the recommended approach.Prerequisites
Install Visual Studio
Install Visual Studio 2017 or newer with C++ development tools:
- Desktop development with C++
- Windows 10 SDK
Install Qt
Download and install Qt from qt.io:
- Qt 5.15.2+ or Qt 6.2.0+
- Include Qt WebEngine component
- Add Qt’s bin directory to PATH
Building with vcpkg
The recommended build method on Windows uses the vcpkg preset:The vcpkg preset automatically installs dependencies listed in
vcpkg.json during the configure step.Windows-Specific Options
When building on Windows, several platform-specific features are enabled:- Automatic dependency deployment:
X_VCPKG_APPLOCAL_DEPS_INSTALL=ONcopies DLLs to the build directory - Version information: Embedded in the executable via
versioninfo.rc - WiX installer: Available for non-portable builds
Creating Windows Packages
Troubleshooting Windows
Qt Not Found
vcpkg Errors
If vcpkg integration fails:OpenSSL DLLs Missing
Qt WebEngine requires OpenSSL DLLs at runtime:Linux
Linux builds vary by distribution but generally follow a similar pattern. X11 support is required for global shortcuts.Ubuntu/Debian
Fedora/RHEL
Arch Linux
Building on Linux
Standard CMake workflow:Installing on Linux
- Binary:
/usr/local/bin/zeal - Icons:
/usr/local/share/icons/ - Desktop file:
/usr/local/share/applications/
Wayland Support
Global keyboard shortcuts require X11. On Wayland, shortcuts will not work unless XWayland is used with X11 libraries available.
Troubleshooting Linux
Qt WebEngine Missing
Qt WebEngine is a separate package on many distributions:X11 Headers Not Found
xcb-util-keysyms Missing
macOS
Building on macOS is straightforward with Homebrew.Prerequisites
Building on macOS
Zeal automatically searches Homebrew paths for libarchive.macOS App Bundle
The build produces a macOS application bundle:- Bundle location:
build/Zeal.app - Binary:
build/Zeal.app/Contents/MacOS/Zeal - Icon: Embedded in
Zeal.app/Contents/Resources/zeal.icns
Running on macOS
macOS-Specific Features
- Carbon framework: Used for global keyboard shortcuts
- Retina support: Automatic high-DPI rendering
- macOS bundle properties: Set in CMakeLists.txt
Troubleshooting macOS
Qt Not Found
Ensure CMAKE_PREFIX_PATH points to Qt:libarchive Issues
CMake checks these paths automatically:/opt/homebrew/opt/libarchive(Apple Silicon)/usr/local/opt/libarchive(Intel)
Code Signing
For distribution, the app bundle needs to be signed:
Cross-Platform Considerations
C++ Standard
Zeal requires C++17:Qt Version Detection
Zeal automatically detects and prefers Qt 6, but falls back to Qt 5:Platform Detection in CMake
Zeal uses standard CMake variables:WIN32: Windows buildsAPPLE: macOS buildsUNIX: Linux and macOS buildsCMAKE_SYSTEM_PROCESSOR: Architecture detection
Global Shortcuts Implementation
Zeal uses different implementations per platform:| Platform | Implementation | Dependencies |
|---|---|---|
| Windows | Win32 API | RegisterHotKey |
| macOS | Carbon framework | Carbon.framework |
| Linux X11 | XCB | libX11, xcb-util-keysyms |
| Linux Wayland | Not supported | Falls back to no-op |
Next Steps
Building Zeal
General build instructions and options
Dependencies
Complete list of required dependencies