Skip to content

Latest commit

 

History

History
79 lines (63 loc) · 2.17 KB

File metadata and controls

79 lines (63 loc) · 2.17 KB

DEVELOP

This document is for contributors and maintainers.

Prerequisites

  • CMake >= 3.16
  • Qt 6 (recommended)
  • C++14 compiler
  • macOS release tooling: macdeployqt, hdiutil, gh

Build

macOS

cmake -S src -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/Users/eevv/Qt/6.10.2/macos"
cmake --build build -j8
./build/MachOExplorer

Windows

cmake -S src -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvcXXXX_64"
cmake --build build --config Release

Regression

tests/regression/run_all.sh

Includes:

  • parser regression (moex-parse)
  • dyld cache tools smoke checks
  • malformed-input crash regression suite

Key Scripts

  • scripts/inc_patch_version.sh: bump patch version in repo files
  • deploy.sh: one-command release pipeline (bump/build/test/tag/release/homebrew)
  • scripts/release_homebrew.sh: update Homebrew cask (supports --dry-run)
  • scripts/build_windows_installer.ps1: Windows installer helper
  • scripts/build_windows_release.ps1: Windows build + installer + GitHub release asset upload

Packaging

  • Windows Inno Setup script: packaging/windows/MachOExplorer.iss
  • Packaging notes: docs/release_packaging.md

Windows Release Upload

After the macOS release/tag is already published, run this on a Windows machine:

powershell -ExecutionPolicy Bypass -File scripts/build_windows_release.ps1 `
  -QtBin "D:\Qt\6.10.2\msvc2022_64\bin"

Requirements:

  • Qt for MSVC, for example D:\Qt\6.10.2\msvc2022_64\bin
  • windeployqt
  • gh authenticated with release upload access

Notes:

  • scripts/build_windows_installer.ps1 auto-detects cmake and Inno Setup from common install locations when they are not on PATH.
  • The staged Windows app bundle now includes the MSVC CRT DLLs so the generated installer is self-contained.

Full Release (macOS)

./deploy.sh

Optional flags:

  • --no-homebrew
  • --no-release
  • --no-tag
  • --no-push

Coding & PR Checklist

  • Keep changes scoped and avoid unrelated refactors.
  • Preserve existing style in touched areas.
  • Run build + tests/regression/run_all.sh before commit.
  • Update docs if workflow/behavior changed.