Update to Qt6 #458
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Project | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| build_ubuntu_x11: | |
| name: Build Ubuntu X11 | |
| runs-on: ${{ matrix.cfg.os }} | |
| strategy: | |
| matrix: | |
| cfg: | |
| - { os: ubuntu-22.04, arch: x86_64 } | |
| - { os: ubuntu-22.04-arm, arch: aarch64 } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Install Vulkan SDK | |
| run: | | |
| sudo apt update | |
| sudo apt install libvulkan-dev | |
| - name: Install x86_64 Qt | |
| if: ${{ matrix.cfg.arch == 'x86_64' }} | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: 6.8.3 | |
| host: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: 6.8.3 | |
| host: linux_arm64 | |
| arch: linux_gcc_arm64 | |
| - name: Install libfuse | |
| run: | | |
| sudo add-apt-repository universe | |
| sudo apt install libfuse2 | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: X11 | |
| run: | | |
| echo ${TARGET_PLATFORM} | |
| PATH="/opt/qt512/bin:$PATH" | |
| CXX="clang++" | |
| qmake DEFINES+=X11 CONFIG+=release PREFIX=/usr | |
| make INSTALL_ROOT=appdir install_icon ; find appdir/ | |
| wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${{matrix.cfg.arch}}.AppImage" | |
| wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-${{matrix.cfg.arch}}.AppImage" | |
| chmod +x linuxdeploy*.AppImage | |
| ./linuxdeploy-${{matrix.cfg.arch}}.appimage --appdir=appdir --output=appimage -e ./vulkanCapsViewer -d vulkanCapsViewer.desktop -i ./vulkanCapsViewer.png -p qt | |
| mv Vulkan_Caps_Viewer-${{matrix.cfg.arch}}.AppImage Vulkan_Caps_Viewer-X11-${{matrix.cfg.arch}}.AppImage | |
| - name: Upload | |
| if: github.ref == 'refs/heads/master' | |
| run: curl -T Vulkan_Caps_Viewer-X11-${{matrix.cfg.arch}}.AppImage ftp://${{ secrets.FTP_USER_NAME }}:${{ secrets.FTP_PASS }}@${{ secrets.FTP_SERVER_NAME }} | |
| build_ubuntu_wayland: | |
| name: Build Ubuntu Wayland | |
| runs-on: ${{ matrix.cfg.os }} | |
| strategy: | |
| matrix: | |
| cfg: | |
| - { os: ubuntu-22.04, arch: x86_64 } | |
| # - { os: ubuntu-24.04-arm, arch: aarch64 } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Install Vulkan SDK | |
| run: | | |
| sudo apt update | |
| sudo apt install libvulkan-dev libwayland-dev | |
| - name: Install x86_64 Qt | |
| if: ${{ matrix.cfg.arch == 'x86_64' }} | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: 6.8.3 | |
| host: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: 6.8.3 | |
| host: linux_arm64 | |
| arch: linux_gcc_arm64 | |
| - name: Install libfuse | |
| run: | | |
| sudo add-apt-repository universe | |
| sudo apt install libfuse2 | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: wayland | |
| run: | | |
| echo ${TARGET_PLATFORM} | |
| PATH="/opt/qt512/bin:$PATH" | |
| CXX="clang++" | |
| qmake DEFINES+=WAYLAND CONFIG+=release PREFIX=/usr | |
| make INSTALL_ROOT=appdir install ; find appdir/ | |
| wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-${{matrix.cfg.arch}}.AppImage" | |
| chmod a+x linuxdeployqt-continuous-${{matrix.cfg.arch}}.AppImage | |
| export VERSION=${TARGET_PLATFORM} | |
| cp vulkanCapsViewer.png appdir/usr/share/icons/hicolor/256x256/apps/vulkanCapsViewer.png | |
| ./linuxdeployqt-continuous-${{matrix.cfg.arch}}.AppImage appdir/usr/share/applications/* -appimage -exclude-libs=libwayland-client.so | |
| - name: Upload | |
| if: github.ref == 'refs/heads/master' | |
| run: curl -T Vulkan_Caps_Viewer-wayland-${{matrix.cfg.arch}}.AppImage ftp://${{ secrets.FTP_USER_NAME }}:${{ secrets.FTP_PASS }}@${{ secrets.FTP_SERVER_NAME }} | |
| build_macosx: | |
| name: Build macOS | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Select Xcode version | |
| run: | | |
| echo "Available Xcode installations:" | |
| ls -1 /Applications | grep -i xcode || true | |
| ls -d /Applications/Xcode*.app 2>/dev/null || true | |
| # Choose the newest Xcode* app if present, otherwise leave system default | |
| XCODE_DIR=$(ls -d /Applications/Xcode*.app 2>/dev/null | sort -V | tail -n1) | |
| if [ -n "$XCODE_DIR" ]; then | |
| echo "Selecting Xcode at $XCODE_DIR" | |
| sudo xcode-select -s "${XCODE_DIR}/Contents/Developer" | |
| else | |
| echo "No /Applications/Xcode*.app found — leaving system default" | |
| xcode-select -p || true | |
| fi | |
| - uses: jurplel/install-qt-action@v4 | |
| with: | |
| # todo: Needs to be updated to 6.8.5 once that's released | |
| version: 6.8.3 | |
| host: mac | |
| - name: Prepare Vulkan SDK | |
| uses: humbletim/[email protected] | |
| with: | |
| vulkan-query-version: 1.4.304.1 | |
| vulkan-components: Vulkan-Headers, Vulkan-Loader | |
| vulkan-use-cache: true | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: osx | |
| run: | | |
| echo ${TARGET_PLATFORM} | |
| export PATH=$PATH:/usr/local/opt/qt/bin | |
| export CPATH=$CPATH:/usr/local/include/ | |
| qmake -config release | |
| make -j$(sysctl -n hw.ncpu) | |
| macdeployqt vulkanCapsViewer.app -dmg | |
| cp vulkanCapsviewer.dmg Vulkan_Caps_Viewer-osx-x86_64.dmg | |
| - name: Upload | |
| if: github.ref == 'refs/heads/master' | |
| run: curl -T Vulkan_Caps_Viewer-osx-x86_64.dmg ftp://${{ secrets.FTP_USER_NAME }}:${{ secrets.FTP_PASS }}@${{ secrets.FTP_SERVER_NAME }} | |
| build_windows: | |
| name: Build Windows (64 bit) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - uses: jurplel/install-qt-action@v4 | |
| with: | |
| # todo: Needs to be updated to 6.8.5 once that's released | |
| version: 6.8.3 | |
| target: 'desktop' | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: windows | |
| run: | | |
| qmake vulkanCapsViewer.pro | |
| nmake release | |
| windeployqt.exe release --no-opengl-sw --no-translations --no-system-d3d-compiler | |
| Remove-Item release\*.obj | |
| Remove-Item release\*.res | |
| Compress-Archive -Path release\ -DestinationPath Vulkan_Caps_Viewer-windows.zip | |
| - name: Upload | |
| if: github.ref == 'refs/heads/master' | |
| run: curl -T Vulkan_Caps_Viewer-windows.zip ftp://${{ secrets.FTP_USER_NAME }}:${{ secrets.FTP_PASS }}@${{ secrets.FTP_SERVER_NAME }} |