Skip to content

Commit

Permalink
Use QT from mingw
Browse files Browse the repository at this point in the history
  • Loading branch information
donarturo11 committed Dec 24, 2024
1 parent c04874f commit acb09ad
Showing 1 changed file with 37 additions and 10 deletions.
47 changes: 37 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ jobs:
strategy:
matrix:
include:
- { name: "windows-qt6-msvc", os: windows-latest, flags: '-G"Visual Studio 17 2022"', shell: 'msys2 {0}', deps-prefix: "D:/deps", aqt-os: "windows", aqt-arch: "win64_msvc2019_64", aqt-prefix: "/opt/Qt", aqt-subdir: "msvc2019_64", qt-version: '6.5.1', msystem: 'UCRT64' }
- { name: "windows-qt5-mingw", os: windows-latest, flags: "", shell: 'msys2 {0}', deps-prefix: "/opt/deps", aqt-os: "windows", aqt-arch: "win64_mingw81", aqt-prefix: "/opt/Qt", aqt-subdir: "mingw81_64", qt-version: '5.15.2', msystem: 'MINGW64' }
- { name: "linux", os: ubuntu-latest, flags: "", shell: 'bash', deps-prefix: "/home/runner/deps", aqt-os: "linux", aqt-arch: "gcc_64", aqt-prefix: "/home/runner/Qt", aqt-subdir: "gcc_64", qt-version: '6.5.1'}
- { name: "macos-qt6-universal", os: macos-latest, flags: "-DCMAKE_OSX_ARCHITECTURES=\"x86_64;arm64\"", shell: 'bash', deps-prefix: "/Users/runner/deps", aqt-os: "mac", aqt-arch: "", aqt-prefix: "/Users/runner/Qt", aqt-subdir: "macos", qt-version: '6.5.1'}
- { name: "macos-qt5-legacy", os: macos-latest, flags: "-DCMAKE_OSX_DEPLOYMENT_TARGET=\"10.13\" -DCMAKE_OSX_ARCHITECTURES=\"x86_64\"", shell: 'bash', deps-prefix: "/Users/runner/deps", aqt-os: "mac", aqt-arch: "", aqt-prefix: "/Users/runner/Qt", aqt-subdir: "clang_64", qt-version: '5.15.2' }
- { name: "windows-qt6-msvc", os: windows-latest, flags: '-G"Visual Studio 17 2022"', shell: 'msys2 {0}', deps-prefix: "D:/deps", aqt-os: "windows", aqt-arch: "win64_msvc2019_64", aqt-prefix: "/opt/Qt", aqt-subdir: "msvc2019_64", qt-version: '6.5.1', msystem: 'UCRT64', build-fftw: true }
- { name: "windows-qt5-mingw", os: windows-latest, flags: "", shell: 'msys2 {0}', deps-prefix: "/opt/deps", aqt-os: "none", aqt-arch: "win64_mingw81", aqt-prefix: "/opt/Qt", aqt-subdir: "mingw81_64", qt-version: '5.15.2', msystem: 'MINGW64', build-fftw: false }
- { name: "linux", os: ubuntu-latest, flags: "", shell: 'bash', deps-prefix: "/home/runner/deps", aqt-os: "linux", aqt-arch: "gcc_64", aqt-prefix: "/home/runner/Qt", aqt-subdir: "gcc_64", qt-version: '6.5.1', build-fftw: true}
- { name: "macos-qt6-universal", os: macos-latest, flags: "-DCMAKE_OSX_ARCHITECTURES=\"x86_64;arm64\"", shell: 'bash', deps-prefix: "/Users/runner/deps", aqt-os: "mac", aqt-arch: "", aqt-prefix: "/Users/runner/Qt", aqt-subdir: "macos", qt-version: '6.5.1', build-fftw: true}
- { name: "macos-qt5-legacy", os: macos-latest, flags: "-DCMAKE_OSX_DEPLOYMENT_TARGET=\"10.13\" -DCMAKE_OSX_ARCHITECTURES=\"x86_64\"", shell: 'bash', deps-prefix: "/Users/runner/deps", aqt-os: "mac", aqt-arch: "", aqt-prefix: "/Users/runner/Qt", aqt-subdir: "clang_64", qt-version: '5.15.2', build-fftw: true }
runs-on: ${{matrix.os}}
defaults:
run:
Expand Down Expand Up @@ -77,6 +77,10 @@ jobs:
${MINGW_PACKAGE_PREFIX}-python-wheel \
${MINGW_PACKAGE_PREFIX}-python-patch-ng \
${MINGW_PACKAGE_PREFIX}-cmake \
${MINGW_PACKAGE_PREFIX}-gles-headers \
${MINGW_PACKAGE_PREFIX}-glew \
${MINGW_PACKAGE_PREFIX}-glfw \
${MINGW_PACKAGE_PREFIX}-angleproject \
${MINGW_PACKAGE_PREFIX}-nsis
- name: Setup windows env
Expand Down Expand Up @@ -156,10 +160,12 @@ jobs:
echo "INSTALL_PREFIX=$INSTALL_PREFIX" >> $GITHUB_ENV
- name: Install AQT
if: ${{matrix.aqt-os != 'none'}}
run: |
python3 -m pip install --break-system-packages --user aqtinstall
- name: Install Qt
- name: Install Qt (with AQT)
if: ${{matrix.aqt-os != 'none'}}
run: |
AQT_INSTALL="python3 -m aqt install-qt -O ${{matrix.aqt-prefix}} ${{matrix.aqt-os}} desktop ${{matrix.qt-version}} ${{matrix.aqt-arch}}"
QT6_MODULES=(qtconnectivity qtserialport qtcharts)
Expand All @@ -174,8 +180,18 @@ jobs:
${AQT_INSTALL} -m $i
done
fi
- name: Install QT (mingw)
if: ${{matrix.aqt-os == 'none' && runner.os == 'Windows'}}
run: |
pacman -S --noconfirm \
${MINGW_PACKAGE_PREFIX}-qt5 \
${MINGW_PACKAGE_PREFIX}-qt5-translations \
${MINGW_PACKAGE_PREFIX}-fftw
- name: FETCH FFTW3
if: ${{matrix.build-fftw}}
run: |
wget https://www.fftw.org/fftw-3.3.10.tar.gz
tar -vxzf fftw-3.3.10.tar.gz
Expand All @@ -187,19 +203,20 @@ jobs:
fi
- name: Compile FFTW3 (WINDOWS)
if: ${{matrix.name == 'windows-qt6-msvc'}}
if: ${{matrix.name == 'windows-qt6-msvc' && matrix.build-fftw}}
shell: pwsh
run: |
cmake -S fftw-3.3.10 -B ${{env.WORKDIR}}/fftw-build ${{matrix.flags}} -DCMAKE_INSTALL_PREFIX=${{env.DEPSPATH}}
cmake --build ${{env.FFTW_BUILD_DIR}} --config Release
- name: Compile FFTW3 (POSIX)
if: ${{matrix.name != 'windows-qt6-msvc'}}
if: ${{matrix.name != 'windows-qt6-msvc' && matrix.build-fftw}}
run: |
cmake -S fftw-3.3.10 -B ${{env.WORKDIR}}/fftw-build ${{matrix.flags}} -DCMAKE_INSTALL_PREFIX=${{env.DEPSPATH}}
cmake --build ${{env.FFTW_BUILD_DIR}}
- name: Install FFTW3
if: ${{matrix.build-fftw}}
run: cmake --install ${{env.FFTW_BUILD_DIR}}

- name: Checkout Repo
Expand Down Expand Up @@ -258,7 +275,17 @@ jobs:
run: |
export ARTIFACT_DIR=${{env.WORKDIR}}/${PACKAGE_NAME}
find "${{env.DEPSPATH}}" -name "*.dll" -exec cp {} ${{env.APPDIR}}/ \;
${{matrix.aqt-prefix}}/${{matrix.qt-version}}/${{matrix.aqt-subdir}}/bin/windeployqt.exe ${{env.APPDIR}}/
if [[ ${{matrix.aqt-os }} == 'none' ]]; then
windeployqt ${{env.APPDIR}}/ || echo "::warning::Unknown error"
else
${{matrix.aqt-prefix}}/${{matrix.qt-version}}/${{matrix.aqt-subdir}}/bin/windeployqt.exe ${{env.APPDIR}}/
fi
if [[ ${{matrix.aqt-os }} == 'none' ]]; then
echo "::notice:: Deploying additional libs"
for i in $(ldd ${{env.APPDIR}}/QBrainwaveOSC.exe | cut -f 3 -d " " | grep "/bin/")
do cp -v $i ${{env.APPDIR}}/
done
fi
mkdir $ARTIFACT_DIR || echo "::warning::${ARTIFACT_DIR} already exists"
cd $ARTIFACT_DIR
cpack --config ${{env.WORKDIR}}/build/CPackConfig.cmake -G NSIS -V
Expand Down

0 comments on commit acb09ad

Please sign in to comment.