2023-02-16 12:29:54 +01:00

110 lines
3.3 KiB
YAML

name: Build
on: [push, pull_request]
jobs:
build-msvc:
name: Windows
env:
BUILD_TOOLS_PATH: C:\Program Files\Conan\conan
CONAN_USER_HOME_SHORT: None
runs-on: windows-latest
steps:
- run: echo $env:BUILD_TOOLS_PATH | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- uses: actions/checkout@v3
- name: Cache conan
uses: actions/cache@v3.2.5
with:
key: conan-win-${{ hashFiles('conanfile.txt') }}
path: ~/.conan/
- name: Install dependencies
run: choco install conan ninja -y
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.12.1
- name: Build
run: |
conan config set storage.download_cache="$env:TMP"
conan install . -b missing -pr:b=tools/conan-profiles/vs-22-release-ninja -pr=tools/conan-profiles/vs-22-release-ninja
cmake . -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"
ninja
- name: Test
run: ctest -j2 --output-on-failure
- name: Clean Conan pkgs
run: conan remove "*" -fsb
build-gcc:
name: Linux
env:
CONAN_SYSREQUIRES_MODE: "enabled"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache conan
uses: actions/cache@v3.2.5
with:
key: conan-linux-${{ hashFiles('conanfile.txt') }}
path: ~/.conan/
- name: Install dependencies
run: |
sudo apt-get update
curl "https://raw.githubusercontent.com/AnotherFoxGuy/ci-scripts/main/install-cmake.sh" | sudo bash
curl "https://raw.githubusercontent.com/AnotherFoxGuy/ci-scripts/main/install-conan.sh" | sudo bash
sudo apt-get -y install ninja-build
- name: Configure
run: |
conan profile new --detect --force default
conan profile update conf.tools.cmake.cmaketoolchain:generator="Ninja" default
conan profile update settings.compiler.libcxx=libstdc++11 default
conan install . -s build_type=Release -b missing -pr:b=default
cmake . -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" -DBUILD_TEST=ON
- name: Build
run: |
ninja
- name: Test
run: ctest -j2 --output-on-failure
- name: Clean Conan pkgs
run: conan remove "*" -fsb
build-appleclang:
name: MacOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Cache conan
uses: actions/cache@v3.2.5
with:
key: conan-mac-${{ hashFiles('conanfile.txt') }}
path: ~/.conan/
- name: Install dependencies
run: brew install conan ninja
- name: Build
run: |
conan profile new --detect --force default
conan profile update conf.tools.cmake.cmaketoolchain:generator="Ninja" default
conan install . -s build_type=Release -b missing -pr:b=default
cmake . -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" -DBUILD_TEST=ON
ninja
shell: bash
- name: Test
run: ctest -j2 --output-on-failure
shell: bash
- name: Clean Conan pkgs
run: conan remove "*" -fsb