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.6 with: key: conan-win-${{ hashFiles('conanfile.txt') }} path: ~/.conan2/ - 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 install . -b missing -pr:b=tools/conan-profiles/vs-22-release-ninja -pr=tools/conan-profiles/vs-22-release-ninja cmake --preset conan-release -DBUILD_TEST=ON ninja - name: Test run: ctest -j2 --output-on-failure - name: Clean Conan pkgs run: conan cache clean "*" -sbd 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.6 with: key: conan-linux-${{ hashFiles('conanfile.txt') }} path: ~/.conan2/ - 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-conan2.0.sh" | sudo bash sudo apt-get -y install ninja-build - name: Configure run: | conan profile detect --force conan install . -s build_type=Release -b missing -pr:b=default -c tools.cmake.cmaketoolchain:generator="Ninja" cmake --preset conan-release -DBUILD_TEST=ON - name: Build run: | ninja - name: Test run: ctest -j2 --output-on-failure - name: Clean Conan pkgs run: conan cache clean "*" -sbd build-appleclang: name: MacOS runs-on: macos-latest steps: - uses: actions/checkout@v3 - name: Cache conan uses: actions/cache@v3.2.6 with: key: conan-mac-${{ hashFiles('conanfile.txt') }} path: ~/.conan2/ - name: Install dependencies run: brew install conan ninja - name: Build run: | conan profile detect --force conan install . -s build_type=Release -b missing -pr:b=default -c tools.cmake.cmaketoolchain:generator="Ninja" cmake --preset conan-release -DBUILD_TEST=ON ninja shell: bash - name: Test run: ctest -j2 --output-on-failure shell: bash - name: Clean Conan pkgs run: conan cache clean "*" -sbd