name: CMake on: - push - pull_request env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release jobs: build: # The CMake configure and build commands are platform agnostic and should work equally # well on Windows or Mac. You can convert this to a matrix build if you need # cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] include: - os: macos-latest cmake: cmake - os: ubuntu-latest cmake: cmake - os: windows-latest cmake: .\.github\workflows\build-windows.bat cmake steps: - name: clone opentrack/opentrack uses: actions/checkout@v2 - name: clone opentrack/depends uses: actions/checkout@v2 with: repository: opentrack/opentrack-depends submodules: true path: opentrack-depends - uses: seanmiddleditch/gha-setup-ninja@master - name: Install Linux Dependencies run: | sudo apt-get update sudo apt-get install libproc2-dev libopencv-dev libopencv-dev wine64-tools sudo apt-get install qt6-tools-dev qt6-serialport-dev qt6-base-private-dev if: matrix.os == 'ubuntu-latest' - name: Install Qt uses: jurplel/install-qt-action@v4 with: dir: "${{ github.workspace }}/qt" version: '6.8.3' modules: qtserialport qtmultimedia qtimageformats target: 'desktop' use-official: true if: matrix.os != 'ubuntu-latest' - name: Configure run: ${{matrix.cmake}} -GNinja -S ${{github.workspace}}/ -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DQt6_DIR="${{env.QT_ROOT_DIR}}/lib/cmake/Qt6" - name: Build run: ${{matrix.cmake}} --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target install # - name: Upload build # uses: actions/upload-artifact@v3 # with: # name: buildoutput # path: ${{github.workspace}}/build/