Skip to content

Support more than MoltenVK on macOS (#262) #447

Support more than MoltenVK on macOS (#262)

Support more than MoltenVK on macOS (#262) #447

Workflow file for this run

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 }}