This document is for contributors and maintainers.
- CMake >= 3.16
- Qt 6 (recommended)
- C++14 compiler
- macOS release tooling:
macdeployqt,hdiutil,gh
cmake -S src -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/Users/eevv/Qt/6.10.2/macos"
cmake --build build -j8
./build/MachOExplorercmake -S src -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvcXXXX_64"
cmake --build build --config Releasetests/regression/run_all.shIncludes:
- parser regression (
moex-parse) - dyld cache tools smoke checks
- malformed-input crash regression suite
scripts/inc_patch_version.sh: bump patch version in repo filesdeploy.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 helperscripts/build_windows_release.ps1: Windows build + installer + GitHub release asset upload
- Windows Inno Setup script:
packaging/windows/MachOExplorer.iss - Packaging notes:
docs/release_packaging.md
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 windeployqtghauthenticated with release upload access
Notes:
scripts/build_windows_installer.ps1auto-detectscmakeand Inno Setup from common install locations when they are not onPATH.- The staged Windows app bundle now includes the MSVC CRT DLLs so the generated installer is self-contained.
./deploy.shOptional flags:
--no-homebrew--no-release--no-tag--no-push
- Keep changes scoped and avoid unrelated refactors.
- Preserve existing style in touched areas.
- Run build +
tests/regression/run_all.shbefore commit. - Update docs if workflow/behavior changed.