Add code color highlighting to the README (#649) #120
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: NoVcpkg Build | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
build_novcpkg: | |
name: build-novcpkg-${{ matrix.os }}-gcc${{ matrix.gcc }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
gcc: [11, 12, 13] | |
exclude: | |
#- os: macos-latest # Allow one gcc variant for mac/windows, since they don't use gcc | |
#gcc: 11 | |
- os: macos-latest | |
gcc: 12 | |
- os: macos-latest | |
gcc: 13 | |
#- os: windows-latest | |
#gcc: 11 | |
- os: windows-latest | |
gcc: 12 | |
- os: windows-latest | |
gcc: 13 | |
env: | |
# Indicates the CMake build directory where project files and binaries are being produced. | |
CMAKE_BUILD_DIR: ${{ github.workspace }}/build | |
steps: | |
- name: Install Dependencies (Linux) | |
run: | | |
sudo apt-get update && \ | |
sudo apt-get install --no-install-recommends \ | |
libboost-dev \ | |
libsodium-dev \ | |
libprotobuf-dev \ | |
protobuf-compiler \ | |
libgflags-dev \ | |
libutempter-dev \ | |
build-essential \ | |
ninja-build \ | |
libcurl4-openssl-dev \ | |
curl \ | |
zip \ | |
unzip \ | |
tar \ | |
cmake \ | |
libutempter-dev \ | |
libunwind-dev | |
if: matrix.os == 'ubuntu-latest' | |
- name: Install Dependencies (macOS) | |
run: brew update && brew install ninja cmake pkg-config curl openssl protobuf libsodium automake autoconf libtool | |
if: matrix.os == 'macos-latest' | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up GCC (Ubuntu) | |
uses: egor-tensin/setup-gcc@v1 | |
with: | |
version: ${{ matrix.gcc }} | |
platform: x64 | |
if: matrix.os == 'ubuntu-latest' | |
# Run CMake to generate Ninja project files. | |
- name: Install dependencies and generate project files (mac) | |
run: | | |
OPENSSL_ROOT_DIR=`brew --prefix openssl` cmake -S "${{ github.workspace }}" -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISABLE_VCPKG=ON -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR | |
if: matrix.os == 'macos-latest' | |
- name: Install dependencies and generate project files (linux) | |
env: | |
CC: gcc-${{ matrix.gcc }} | |
CXX: g++-${{ matrix.gcc }} | |
run: | | |
cmake -S "${{ github.workspace }}" -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISABLE_VCPKG=ON -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR | |
if: matrix.os == 'ubuntu-latest' | |
- name: Install dependencies and generate project files (windows) | |
run: | | |
cmake -S "${{ github.workspace }}" -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISABLE_VCPKG=ON -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR | |
if: matrix.os == 'windows-latest' | |
# Build the whole project with Ninja (which is spawn by CMake). | |
- name: Build | |
run: | | |
cmake --build "${{ env.CMAKE_BUILD_DIR }}" | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: et-client-${{matrix.os}}-gcc${{matrix.gcc}} | |
path: ${{ env.CMAKE_BUILD_DIR }}/et${{matrix.extension}} |