🚀 Build Guide - CaptureMoment¶
Welcome! This guide will help you build CaptureMoment from source.
🧰 Global Prerequisites¶
Before selecting your platform, ensure you have these tools:
- CMake 4.2+
- C++23 Compiler:
- Windows: MSVC 2026.
- Linux: GCC 16+
- macOS: Apple Clang 16+ (Xcode 15+).
⚙️ Global Build Configuration¶
CMake Build¶
| Component | Default Status | CMake Variable (with Alias) | Description |
|---|---|---|---|
| Desktop UI | OFF | BUILD_DESKTOP_UI (desktop_ui) | Builds the Qt Quick/QML desktop application. |
| Mobile UI | OFF | BUILD_MOBILE_UI (mobile_ui) | Builds the mobile application (future phase). |
| Tests | OFF | BUILD_TESTS (tests) | Builds unit and integration tests. |
| Sanitizers | OFF | BUILD_SANITIZERS (sanitizers) | Builds with sanitizer instrumentation (ASan, UBSan). |
| Benchmarks | OFF | BUILD_BENCHMARKS (benchmarks) | Builds performance benchmarks. |
Libraries¶
| Library | Version | Link |
|---|---|---|
| OpenImageIO | 3.1.14.0 | https://github.com/AcademySoftwareFoundation/OpenImageIO |
| Halide | >=22.1 | https://github.com/halide/Halide |
| spdlog | 1.16.0 | https://github.com/gabime/spdlog |
| Exiv2 | 0.28.7 | https://github.com/Exiv2/exiv2 |
| Magic Enum | 0.9.7 | https://github.com/Neargye/magic_enum/ |
| Qt6 | 6.10.x | https://doc.qt.io/qt-6/ |
| GoogleTest | 1.18.0 | https://github.com/google/googletest/ |
📦 How to build¶
1. Build Halide¶
➡️ Read the guide for Halide.
2. Setup Qt (Optional - Required for UI only)¶
➡️ Read the Building Qt Guide
3. Setup Dependencies & Compile¶
git clone the project
# Clone from develop branch
git clone --branch develop --single-branch https://github.com/Capture-Moment/CaptureMoment.git
cd CaptureMoment
# Or from your Fork
4. Setup Dependencies & Compile¶
Click the link for your OS for detailed instructions: