Repository navigation
Platform
Supported targets and toolchains, the third-party code the library links, and how it is packaged and shipped.
| Platform | Status | Notes |
|---|---|---|
| Windows 10/11 | Primary | Developer's main OS |
| Linux | Supported | CMake + vcpkg, standard Qt6 packages |
| macOS | Supported | Qt renders via Metal |
| iOS (iPad) | Not planned | Web app approach preferred (see §10) |
No platform-specific code in libplatemaker. Platform differences isolated to CMake configuration.
- IDE: VS Code with CMake Tools, C/C++, Remote-WSL extensions
- AI assistant: Claude Code (VS Code extension) with Anthropic API key
-
Windows build: MSVC toolchain, CMake preset
windows-msvc; MinGW viawindows-mingw -
Linux build: GCC in WSL2, CMake preset
linux-gcc(same source tree, sameC:\path) -
Source location: Windows filesystem (
C:\), NOT inside WSL/home/— required for Remote-WSL to share files correctly
| Library | Version | Licence | Purpose |
|---|---|---|---|
| libvips | ≥ 8.15 | LGPL v2.1 | Image loading, scaling (Lanczos3), saving. 8.15 floor: ImageIO::encode uses VIPS_FOREIGN_KEEP_ICC. Windows bundles 8.18; Linux uses system libvips (Ubuntu 24.04+). |
| nlohmann/json | 3.x | MIT | Workspace JSON serialisation |
| CMake | 3.21+ | BSD | Build system |
| vcpkg | latest | MIT | Package management |
libplatemaker LGPL note: libplatemaker itself is LGPL 3.0. Dynamic linking required — end users must be able to relink against a modified version. Distribute as platemaker.dll / libplatemaker.so. LGPL permits monetisation (donations) as long as the library remains dynamically linked and unmodified.
| Platform | Format | Notes |
|---|---|---|
| Windows | ZIP (exe + DLLs) | Bundle platemaker.exe + libvips*.dll
|
| Linux | tarball or AppImage |
libplatemaker.so + platemaker binary |
Published as a GitHub Release asset alongside the CLI. The Qt GUI project fetches and unpacks it to consume find_package(platemaker CONFIG REQUIRED).
| Platform | Format | Contents |
|---|---|---|
| Windows (MSVC) | ZIP |
bin/platemaker.dll, lib/platemaker.lib, lib/cmake/platemaker/, include/
|
| Windows (MinGW) | ZIP |
bin/platemaker.dll, lib/libplatemaker.dll.a, lib/cmake/platemaker/, include/
|
| Linux | tarball |
lib/libplatemaker.so, lib/cmake/platemaker/, include/
|
GitHub Actions builds all artefacts automatically on every version tag push (v*):
git tag v1.0.0 && git push --tags
→ GitHub Actions builds Windows (MSVC + MinGW) + Linux in parallel
→ Attaches CLI ZIPs and dev package archives to the Release
See also: Home · Workspace · Project · Render · Preview · Canvas-Profiles · Processing-Steps · Components · CLI · Platform · Roadmap · Diagrams