#!/usr/bin/env bash set -euo pipefail # Run final clean configure / build / test in Docker using app/run_docker.sh # Usage: ./final-migration/run_final_migration.sh [--jobs N] # Requires the Docker image from ./app/run_docker.sh to be available (run ./app/run_docker.sh --build once if needed). # Note: Source directory is qt-migration-legatus/qt6-after/qt6-migrated-legatus/ (submodule) JOBS=5 while [[ $# -gt 0 ]]; do case "$1" in --jobs) JOBS="$2"; shift 2;; -j*) JOBS="${1#-j}"; shift;; *) echo "Unknown arg: $1"; exit 1;; esac done # Submodule path containing the migrated Qt6 code SUBMODULE_PATH="qt-migration-legatus/qt6-after/qt6-migrated-legatus" # Run inside Docker: perform clean build directory, configure with Qt6, build and run ctest ./app/run_docker.sh ../sandbox -- bash -lc \ "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.8.3/gcc_64/lib:${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf /repo/build && cmake -S /repo/${SUBMODULE_PATH} -B /repo/build -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -DBUILD_WS=ON -DBUILD_TESTING=ON && cmake --build /repo/build -- -j${JOBS} && ctest --test-dir /repo/build --output-on-failure" echo "Final migration build + tests complete. See ./build for artifacts and test logs in ./build/Testing/Temporary."