Make the EOS syntax highlighter a bit more comprehensive #63
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: CMake CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - name: 'linux-x86' | |
| os: 'ubuntu-latest' | |
| target: 'desktop' | |
| generator: 'Ninja' | |
| - name: 'linux-arm' | |
| os: 'ubuntu-24.04-arm' | |
| target: 'desktop' | |
| generator: 'Ninja' | |
| - name: 'windows-x86' | |
| os: 'windows-latest' | |
| arch: 'win64_mingw' | |
| target: 'desktop' | |
| generator: 'Ninja' | |
| - name: 'macos-arm' | |
| os: 'macos-latest' | |
| target: 'desktop' | |
| generator: 'Ninja' | |
| steps: | |
| - name: Checkout | |
| uses: actions/[email protected] | |
| with: | |
| submodules: true | |
| - name: Install Qt | |
| uses: jurplel/install-qt-action@d325aaf2a8baeeda41ad0b5d39f84a6af9bcf005 | |
| with: | |
| cache: true | |
| arch: ${{ matrix.arch }} | |
| target: ${{ matrix.target }} | |
| - name: Update and install MSYS2 (64bit) | |
| if: ${{ runner.os == 'Windows' }} | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: mingw64 | |
| release: true | |
| update: false | |
| path-type: inherit | |
| install: >- | |
| zip | |
| mingw-w64-x86_64-gcc | |
| mingw-w64-x86_64-gcc-libs | |
| mingw-w64-x86_64-cmake | |
| - name: Generate build files | |
| if: ${{ runner.os != 'Windows' }} | |
| run: qt-cmake -G "${{ matrix.generator }}" -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output | |
| - name: Generate build files for Windows | |
| if: ${{ runner.os == 'Windows' }} | |
| shell: msys2 {0} | |
| run: cmake -G "${{ matrix.generator }}" -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output | |
| - name: Build with CMake | |
| if: ${{ runner.os != 'Windows' }} | |
| run: cmake --build build --target install | |
| - name: Build with CMake on Windows | |
| if: ${{ runner.os == 'Windows' }} | |
| shell: msys2 {0} | |
| run: cmake --build build --target install | |
| - name: Prepare Linux bundle for distribution | |
| if: ${{ runner.os == 'Linux' }} | |
| run: | | |
| cd output/bin | |
| tar -czf ../universal-focus-remote-${{ matrix.name }}.tar.gz * | |
| cd .. | |
| rm -rf bin | |
| - name: Prepare MacOS bundle for distribution | |
| if: ${{ runner.os == 'macOS' }} | |
| run: | | |
| mkdir -p output/universal-focus-remote.app/Contents/Frameworks | |
| cp build/include/QOsc/src/libQOsc.dylib output/universal-focus-remote.app/Contents/Frameworks | |
| macdeployqt output/universal-focus-remote.app -dmg | |
| rm -rf output/universal-focus-remote.app | |
| - name: Prepare Windows executable for distribution | |
| if: ${{ runner.os == 'Windows' }} | |
| shell: msys2 {0} | |
| run: | | |
| cd output | |
| windeployqt bin/universal-focus-remote.exe | |
| cd bin | |
| zip -r ../universal-focus-remote-${{ matrix.name }}.zip . | |
| cd .. | |
| rm -rf bin | |
| - name: Upload build artifacts | |
| uses: actions/[email protected] | |
| with: | |
| name: build-${{ matrix.name }} | |
| path: output | |
| if-no-files-found: error | |
| publish: | |
| needs: [build] | |
| if: startsWith(github.ref, 'refs/tags/') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download build artifacts | |
| uses: actions/[email protected] | |
| with: | |
| path: dist | |
| merge-multiple: true | |
| - name: Create release | |
| uses: softprops/[email protected] | |
| with: | |
| files: dist/* | |
| fail_on_unmatched_files: true |