name: Windows on: [push, pull_request] env: QT_VERSION: 5.15.2 jobs: windows_build: name: Build MeshLab (Windows) runs-on: windows-latest strategy: matrix: precision: [single_precision, double_precision] steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Setup MSVC uses: ilammy/msvc-dev-cmd@v1 - name: Cache Qt id: cache-qt uses: actions/cache@v3 with: path: ../Qt key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }} - name: Install Qt uses: jurplel/install-qt-action@v3 with: cached: ${{ steps.cache-qt.outputs.cache-hit }} version: ${{ env.QT_VERSION }} - name: Setup env variables shell: bash id: envs run: | if [ "${{matrix.precision}}" == "double_precision" ]; then echo ::set-output name=artifact_suffix::"_double" else echo ::set-output name=artifact_suffix::"" fi echo "VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC" >> $GITHUB_ENV - name: Install wget run: | $env:PATH = "${{ env.PATH }};C:\msys64\mingw64\bin;C:\msys64\usr\bin" pacman.exe -S --noconfirm --noprogressbar wget unzip - name: Download external libraries shell: C:\shells\msys2bash.cmd {0} run: | bash scripts/${{ runner.os }}/0_download_ext.sh - name: Configure and Build shell: bash run: | bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --nightly - name: Deploy shell: C:\shells\msys2bash.cmd {0} run: | bash scripts/${{ runner.os }}/2_deploy.sh -qt=${{ env.Qt5_DIR }} - name: NSIS script shell: bash run: | bash scripts/${{ runner.os }}/internal/nsis_script.sh - name: Create Installer uses: joncloud/makensis-action@v3.7 with: script-file: "install/meshlab_final.nsi" - name: Move Installer shell: bash run: | mkdir installer mv install/MeshLab*-windows.exe installer/ rm install/meshlab_final.nsi rm install/ExecWaitJob.nsh rm install/FileAssociation.nsh - name: Uploading MeshLab Portable uses: actions/upload-artifact@v3 with: name: meshlab_windows_portable${{steps.envs.outputs.artifact_suffix}} path: install - name: Upload Meshlab Installer uses: actions/upload-artifact@v3 with: name: meshlab_windows_installer${{steps.envs.outputs.artifact_suffix}} path: installer/MeshLab*-windows.exe