name: CMake on: pull_request: branches: [ master ] env: BUILD_TYPE: RelWithDebInfo jobs: Ubuntu: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Add OpenMW PPA Dependancies run: sudo add-apt-repository ppa:openmw/openmw; sudo apt-get update - name: Install Building Dependancies run: sudo CI/install_debian_deps.sh gcc openmw-deps openmw-deps-dynamic - name: Prime ccache uses: hendrikmuhs/ccache-action@v1 with: key: ${{ matrix.os }}-${{ env.BUILD_TYPE }} max-size: 1000M - name: Install gtest run: | export CONFIGURATION="Release" export GOOGLETEST_DIR="." export GENERATOR="Unix Makefiles" export CC="gcc" export CXX="g++" sudo -E CI/build_googletest.sh - name: Configure run: cmake -S . -B . -DGTEST_ROOT="$(pwd)/googletest/build" -DGMOCK_ROOT="$(pwd)/googletest/build" -DBUILD_UNITTESTS=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_FLAGS='-Werror' -DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations -Wno-error=nonnull -Wno-error=deprecated-copy" - name: Build run: cmake --build . --config ${{env.BUILD_TYPE}} --parallel 3 - name: Test run: ./openmw_test_suite # - name: Install # shell: bash # run: cmake --install . # - name: Create Artifact # shell: bash # working-directory: install # run: | # ls -laR # 7z a ../build_artifact.7z . # - name: Upload Artifact # uses: actions/upload-artifact@v1 # with: # path: ./build_artifact.7z # name: build_artifact.7z MacOS: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Install Building Dependancies run: CI/before_install.osx.sh - name: Prime ccache uses: hendrikmuhs/ccache-action@v1 with: key: ${{ matrix.os }}-${{ env.BUILD_TYPE }} max-size: 1000M - name: Configure run: | rm -fr build # remove the build directory CI/before_script.osx.sh - name: Build run: | cd build make -j $(sysctl -n hw.logicalcpu) package