name: CMake on: push: branches: - 'master' pull_request: branches: [ master ] env: BUILD_TYPE: RelWithDebInfo jobs: Ubuntu: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Add OpenMW PPA Dependencies run: sudo add-apt-repository ppa:openmw/openmw; sudo apt-get update - name: Install Building Dependencies 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: Configure run: cmake . -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1 -DUSE_SYSTEM_TINYXML=1 -DBUILD_UNITTESTS=1 -DCMAKE_INSTALL_PREFIX=install - name: Build run: make -j3 - 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 Dependencies 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 Windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Install Building Dependencies run: | Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolatey/" --priority=1 choco source disable -n=chocolatey choco install git --force --params "/GitAndUnixToolsOnPath" -y choco install 7zip -y choco install ccache -y choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y choco install vswhere -y choco install ninja -y refreshenv - name: Build run: | $env:CCACHE_BASEDIR = Get-Location $env:CCACHE_DIR = "$(Get-Location)\ccache" New-Item -Type Directory -Force -Path $env:CCACHE_DIR sh CI/before_script.msvc.sh -c $env:BUILD_TYPE -p Win64 -v 2019 -k -V -N -b -t -C -E cd MSVC2019_64_Ninja .\ActivateMSVC.ps1 cmake --build . --config $env:BUILD_TYPE ccache --show-stats