name: CI on: push: branches: - '*' - '*/*' - '!master' jobs: compile: strategy: matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] build-opts: [ "-DUSE_THREADS=ON", "-DUSE_THREADS=OFF" ] name: ${{matrix.os}} (${{matrix.build-opts}}) runs-on: ${{matrix.os}} steps: - uses: actions/checkout@v1 - name: Dependancies shell: bash run: | mkdir -p build if [ "$RUNNER_OS" == "macOS" ]; then brew install openssl elif [ "$RUNNER_OS" == "Windows" ]; then cd build curl https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1e-dev.zip -O 7z x openssl-1.1.1e-dev.zip fi - name: Configure (nix) if: runner.os != 'Windows' shell: bash run: | if [ "$RUNNER_OS" == "macOS" ]; then SSL_OPTS="-D OPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1" fi cd build && cmake ${SSL_OPTS} ${{matrix.build-opts}} .. - name: Configure (win) if: runner.os == 'Windows' # cmake in windows bash can't find openssl. so we use windows cli. run: cd build; cmake ${{matrix.build-opts}} -D OPENSSL_ROOT_DIR="$pwd\openssl-1.1\x64" .. - name: Build shell: bash run: cmake --build build