summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/cmake.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/cmake.yml')
-rw-r--r--.github/workflows/cmake.yml66
1 files changed, 66 insertions, 0 deletions
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
new file mode 100644
index 00000000..fc53f6d7
--- /dev/null
+++ b/.github/workflows/cmake.yml
@@ -0,0 +1,66 @@
+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 qttools5-dev qtbase5-dev libqt5serialport5-dev qtbase5-private-dev
+ if: matrix.os == 'ubuntu-latest'
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v3
+ with:
+ archives: qtbase qtimageformats qtgamepad qttools qtserialport qtmultimedia
+ if: matrix.os != 'ubuntu-latest'
+
+ - name: Configure
+ run: ${{matrix.cmake}} -GNinja -S ${{github.workspace}}/ -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DQt5_DIR=${{env.Qt5_DIR}} -DQt5Gui_DIR=${{env.Qt5_DIR}}/lib/cmake/Qt5Gui
+
+ - 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/