Support more than MoltenVK on macOS (#262) #447
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@v3 | |
| with: | |
| version: 5.12.9 | |
| host: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| run: | | |
| sudo apt install qt5-qmake qtbase5-dev libqt5gui5 | |
| - 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@v3 | |
| with: | |
| version: 5.12.9 | |
| host: linux | |
| - name: Install aarch64 Qt | |
| if: ${{ matrix.cfg.arch == 'aarch64' }} | |
| run: | | |
| sudo apt install qt5-qmake qtbase5-dev libqt5gui5 | |
| - 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-13 | |
| 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: | |
| version: 5.12.9 | |
| 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@v3 | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: windows | |
| run: | | |
| qmake vulkanCapsViewer.pro | |
| nmake release | |
| windeployqt.exe release --no-opengl-sw --no-angle --no-webkit2 --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 }} | |
| build_windows_x86: | |
| name: Build Windows (32 bit) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: x86 | |
| - uses: jurplel/install-qt-action@v3 | |
| with: | |
| setup-python: 'false' | |
| version: '5.12.9' | |
| arch: 'win32_msvc2017' | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Build | |
| env: | |
| TARGET_PLATFORM: windows | |
| run: | | |
| qmake vulkanCapsViewer.pro | |
| nmake release | |
| windeployqt.exe release --no-opengl-sw --no-angle --no-webkit2 --no-translations --no-system-d3d-compiler | |
| Remove-Item release\*.obj | |
| Remove-Item release\*.res | |
| Compress-Archive -Path release\ -DestinationPath Vulkan_Caps_Viewer-windows_x86.zip | |
| - name: Upload | |
| if: github.ref == 'refs/heads/master' | |
| run: curl -T Vulkan_Caps_Viewer-windows_x86.zip ftp://${{ secrets.FTP_USER_NAME }}:${{ secrets.FTP_PASS }}@${{ secrets.FTP_SERVER_NAME }} |