meshlab/.github/workflows/QmakeBuilds.yml
2021-04-06 14:32:57 +02:00

132 lines
4.4 KiB
YAML

name: Qmake builds
on: [push, pull_request]
jobs:
ubuntu_build:
name: Build MeshLab (Ubuntu - QMake)
runs-on: ubuntu-16.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
windows_build_qmake:
name: Build MeshLab (Windows - QMake)
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Download Jom
run: |
Invoke-WebRequest -Uri "http://mirrors.ukfast.co.uk/sites/qt.io/official_releases/jom/jom_1_1_3.zip" -OutFile "jom_1_1_3.zip"
New-Item -Name "jom" -ItemType "directory"
Expand-Archive -Path jom_1_1_3.zip -DestinationPath .\jom
echo "$(Get-Location)\jom" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
#echo "$(Get-Location)\jom" >> GITHUB_PATH
- name: Setup env variables
id: envs
run: |
echo "VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC" >> $GITHUB_ENV
#echo '::set-env name=VCINSTALLDIR::C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC'
echo "::set-output name=date::$(type ML_VERSION)"
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Build MeshLab
run: |
.\scripts\${{ runner.os }}\qmake\windows_build.ps1
- name: Deploy MeshLab
run: |
.\scripts\${{ runner.os }}\qmake\windows_deploy.ps1
- name: NSIS script
run: |
.\scripts\${{ runner.os }}\resources\windows_nsis_script.ps1
- name: Create Installer
uses: joncloud/makensis-action@v1
with:
script-file: "scripts/windows/resources/meshlab_final.nsi"
- name: Upload Meshlab Portable
uses: actions/upload-artifact@v1
with:
name: meshlab_windows_portable
path: distrib
- name: Upload Meshlab Installer
uses: actions/upload-artifact@v1
with:
name: meshlab_windows_installer
path: scripts/windows/resources/MeshLab${{steps.envs.outputs.date}}-windows.exe