Update to Qt6 #450
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: | |
| # todo: Needs to be updated to 6.8.5 once that's released | |
| version: 6.8.3 | |
| host: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| 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: 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 ; 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 | |
| - 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-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 libwayland-dev | |
| - name: Install x86_64 Qt | |
| if: ${{ matrix.cfg.arch == 'x86_64' }} | |
| 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: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| 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: 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-15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Select Xcode version | |
| run: sudo xcode-select -s '/Applications/Xcode_14.2.app/Contents/Developer' | |
| - 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$(nproc) | |
| 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 }} |