meshlab/.github/workflows/QmakeBuilds.yml
2021-06-10 11:22:38 +02:00

83 lines
2.6 KiB
YAML

name: Qmake builds
on: [push, pull_request]
jobs:
ubuntu_build:
name: Build MeshLab (Ubuntu - QMake)
runs-on: ubuntu-18.04 #in order to deploy, need to use oldest supported version
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Install dependencies
run: |
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libglew-dev libeigen3-dev libgmp-dev
sudo apt-get install -y libxkbcommon-x11-0 patchelf
#needed by qt 5.15 on linux
sudo apt-get install libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinerama0-dev
- name: Setup env variables
id: envs
run: |
echo ::set-output name=date::"$(cat ML_VERSION)"
- name: Build MeshLab
run: |
sh scripts/${{ runner.os }}/qmake/linux_build.sh
- name: Make MeshLab Bundle
run: |
sh scripts/${{ runner.os }}/qmake/linux_make_bundle.sh
- name: Deploy MeshLab and MeshLabServer
run : |
sh scripts/${{ runner.os }}/qmake/linux_deploy.sh
- name: Build MeshLab and MeshLabServer AppImages
run : |
sh scripts/${{ runner.os }}/qmake/linux_appimages.sh
- name: Upload Meshlab Portable
uses: actions/upload-artifact@v1
with:
name: meshlab_linux_portable
path: distrib/
- name: Upload Meshlab AppImage
uses: actions/upload-artifact@v1
with:
name: meshlab_linux_appimage
path: MeshLab${{steps.envs.outputs.date}}-linux.AppImage
macos_build_qmake:
name: Build MeshLab (MacOS - QMake)
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Install dependencies
run: |
brew install libomp
npm install -g appdmg
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Setup env variables
id: envs
shell: bash
run: |
echo ::set-output name=date::"$(cat ML_VERSION)"
- name: Build MeshLab
run: |
sh scripts/${{ runner.os }}/qmake/macos_build.sh
- name: Deploy MeshLab
run: |
sh scripts/${{ runner.os }}/qmake/macos_deploy.sh
- name: Create DMG
run: |
sh scripts/${{ runner.os }}/qmake/macos_dmg.sh
mv distrib/MeshLab${{steps.envs.outputs.date}}.dmg distrib/MeshLab${{steps.envs.outputs.date}}-macos.dmg
- name: Upload DMG
uses: actions/upload-artifact@v1
with:
name: meshlab_macos_dmg
path: distrib/MeshLab${{steps.envs.outputs.date}}-macos.dmg