Skip to content

CI & dependency provisioning

Qt is not built from source (it is huge, and Qt's deeply-nested build tree blows past Windows' 260-char MAX_PATH under a normal project path). Instead we use the official prebuilt Qt binaries via aqtinstall:

  • CI uses jurplel/install-qt-action (a wrapper around aqtinstall) — see .github/workflows/ci.yml.
  • Locally, run the matching script below; both install the same pinned Qt and print the CMAKE_PREFIX_PATH to pass to CMake.

vcpkg still provides Catch2 (the tests feature); it no longer provides Qt.

Pinned version

QT_VERSION = 6.8.3 (keep this in sync across the scripts here and the CI workflow's install-qt-action version: input).

Local install

# Windows (PowerShell)
pwsh ci/install-qt.ps1                 # installs to C:\Qt by default
# Linux / macOS
./ci/install-qt.sh                     # installs to ~/Qt by default

Then configure the app build against it, e.g. on Windows:

cmake --preset windows-msvc-debug -DCOUNTDOWN_BUILD_APP=ON `
  -DCMAKE_PREFIX_PATH=C:/Qt/6.8.3/msvc2022_64
cmake --build --preset windows-msvc-debug

CMAKE_PREFIX_PATH per platform:

Platform Path
Windows (MSVC) <outdir>/6.8.3/msvc2022_64
Linux (GCC) <outdir>/6.8.3/gcc_64
macOS <outdir>/6.8.3/macos