cmake.yml (1491B)
1 name: CMake 2 3 on: [push, pull_request] 4 5 env: 6 BUILD_TYPE: Release 7 8 jobs: 9 build: 10 runs-on: ${{ matrix.os }} 11 strategy: 12 matrix: 13 os: [ ubuntu-latest, macos-13, windows-2019 ] 14 cmake_generator: [ default, Ninja ] 15 fail-fast: false 16 name: ${{ matrix.os }} build with ${{ matrix.cmake_generator }} cmake generator 17 steps: 18 - name: Install X 19 if: matrix.os == 'ubuntu-latest' 20 run: sudo apt update && sudo apt install -y libgl1-mesa-dev xorg-dev libasound2-dev 21 22 - uses: actions/checkout@v4 23 with: 24 submodules: "recursive" 25 26 - name: Setting up Ninja build system 27 if: matrix.cmake_generator == 'Ninja' 28 uses: seanmiddleditch/gha-setup-ninja@master 29 30 - name: Set up MSVC compiler 31 if: matrix.os == 'windows-2019' 32 uses: ilammy/msvc-dev-cmd@v1 33 34 - name: Configure CMake with ${{ matrix.cmake_generator }} 35 if: matrix.cmake_generator != 'default' 36 run: cmake -G ${{ matrix.cmake_generator }} -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} 37 38 - name: Configure CMake with default generator 39 if: matrix.cmake_generator == 'default' 40 run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} 41 42 - name: Build 43 run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel 3 44 45 - name: Pack 46 working-directory: ${{github.workspace}}/build 47 run: cmake -P ${{github.workspace}}/scripts/pack.cmake