Files
mapmap/scripts/sh_build_macos.sh
Alexandre Quessy 82eef90960 Remove GStreamer dependency and port to Qt 6
Replace the GStreamer media backend with Qt 6 Multimedia (QMediaPlayer,
QVideoSink, QAudioOutput, QCamera, QMediaCaptureSession). This removes
a heavy native dependency and brings the codebase onto a supported Qt
version.

Key changes:
- New VideoPlayerImpl class using QMediaPlayer/QVideoSink for file playback
- Rewrite CameraSurface (QVideoSink) and CameraImpl (QMediaCaptureSession)
- Drop VideoShmSrcImpl, VideoUriDecodeBinImpl, VideoV4l2SrcImpl
- QGLWidget → QOpenGLWidget, QDesktopWidget → QScreen
- QRegExp → QRegularExpression throughout (including qtpropertybrowser)
- Fix all Qt 5→6 API breakages (endl, toAscii, qCopy, QMutexLocker
  template, enterEvent, QWeakPointer::data, QVariant helpers, etc.)
- Update build scripts for Qt 6 on macOS
2026-05-20 00:30:00 -04:00

29 lines
864 B
Bash

#!/bin/bash
# Build MapMap on macOS using Homebrew Qt 6.
#
# Run scripts/sh_install_deps_macos.sh first if dependencies are not yet installed.
#
# Usage:
# ./scripts/sh_build_macos.sh
set -euo pipefail
# Change to the project root regardless of where the script is called from.
cd "$(dirname "$0")/.."
# ---------------------------------------------------------------------------
# Locate Homebrew Qt 6
# ---------------------------------------------------------------------------
QT_PREFIX="$(brew --prefix qt)"
export PATH="${QT_PREFIX}/bin:${PATH}"
echo "qmake: $(command -v qmake)"
echo "Qt version: $(qmake --version | tail -1)"
# ---------------------------------------------------------------------------
# Build
# ---------------------------------------------------------------------------
qmake mapmap.pro
make -j"$(sysctl -n hw.logicalcpu)"