|  | 
|  | 1 | +#!/usr/bin/env bash | 
|  | 2 | + | 
|  | 3 | +# Set defaults appropriate for macOS. | 
|  | 4 | +QT_VERSION="${QT_VERSION:-6.8.1}" | 
|  | 5 | +QT_PATH="${QT_PATH:-/opt/Qt}" | 
|  | 6 | +QT_HOST="${QT_HOST:-mac}" | 
|  | 7 | +QT_TARGET="${QT_TARGET:-desktop}" | 
|  | 8 | +QT_ARCH="${QT_ARCH:-mac}" | 
|  | 9 | +QT_MODULES="${QT_MODULES:-qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qtsensors}" | 
|  | 10 | + | 
|  | 11 | +set -e | 
|  | 12 | + | 
|  | 13 | +echo "QT_VERSION: $QT_VERSION" | 
|  | 14 | +echo "QT_PATH:    $QT_PATH" | 
|  | 15 | +echo "QT_HOST:    $QT_HOST" | 
|  | 16 | +echo "QT_TARGET:  $QT_TARGET" | 
|  | 17 | +echo "QT_ARCH:    $QT_ARCH" | 
|  | 18 | +echo "QT_MODULES: $QT_MODULES" | 
|  | 19 | + | 
|  | 20 | +# Update Homebrew and install Python 3 (if needed) | 
|  | 21 | +brew update | 
|  | 22 | +brew install python3 | 
|  | 23 | + | 
|  | 24 | +# Install required Python packages, including aqtinstall. | 
|  | 25 | +pip3 install --upgrade setuptools wheel py7zr ninja cmake aqtinstall | 
|  | 26 | + | 
|  | 27 | +# Use aqtinstall to download and install Qt. | 
|  | 28 | +aqt install-qt ${QT_HOST} ${QT_TARGET} ${QT_VERSION} ${QT_ARCH} -O ${QT_PATH} -m ${QT_MODULES} | 
|  | 29 | + | 
|  | 30 | +# macOS does not support GNU readlink -e. | 
|  | 31 | +# We use realpath instead (or substitute with greadlink -f if needed). | 
|  | 32 | +# Note: On macOS, dynamic libraries are resolved using DYLD_LIBRARY_PATH. | 
|  | 33 | +export PATH="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH}/bin):$PATH" | 
|  | 34 | +export PKG_CONFIG_PATH="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH}/lib/pkgconfig):$PKG_CONFIG_PATH" | 
|  | 35 | +export DYLD_LIBRARY_PATH="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH}/lib):$DYLD_LIBRARY_PATH" | 
|  | 36 | +export QT_ROOT_DIR="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH})" | 
|  | 37 | +export QT_PLUGIN_PATH="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH}/plugins)" | 
|  | 38 | +export QML2_IMPORT_PATH="$(realpath ${QT_PATH}/${QT_VERSION}/${QT_ARCH}/qml)" | 
|  | 39 | + | 
|  | 40 | +echo "Updated environment variables:" | 
|  | 41 | +echo "PATH:              $PATH" | 
|  | 42 | +echo "PKG_CONFIG_PATH:   $PKG_CONFIG_PATH" | 
|  | 43 | +echo "DYLD_LIBRARY_PATH: $DYLD_LIBRARY_PATH" | 
|  | 44 | +echo "QT_ROOT_DIR:       $QT_ROOT_DIR" | 
|  | 45 | +echo "QT_PLUGIN_PATH:    $QT_PLUGIN_PATH" | 
|  | 46 | +echo "QML2_IMPORT_PATH:  $QML2_IMPORT_PATH" | 
0 commit comments