Skip to content

Add Protobuf and ODE as ExternalProjects to cmake to fix platform compatibility issues #70

Add Protobuf and ODE as ExternalProjects to cmake to fix platform compatibility issues

Add Protobuf and ODE as ExternalProjects to cmake to fix platform compatibility issues #70

Workflow file for this run

name: Build
on:
push:
branches:
- master
pull_request:
jobs:
build-linux:
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04, ubuntu-22.04 ]
steps:
- uses: actions/checkout@v4
- name: "Update dependencies"
run: sudo apt-get update
- name: "Install dependencies"
run: sudo apt-get install -y build-essential cmake pkg-config qtbase5-dev libqt5opengl5-dev libgl1-mesa-dev libglu1-mesa-dev libprotobuf-dev protobuf-compiler libode-dev libboost-dev
- name: "Build"
run: make
build-macos:
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
os: [ macos-12, macos-13 ]
steps:
- uses: actions/checkout@v4
- name: "Install dependencies"
run: brew tap robotology/formulae && brew install cmake pkg-config qt@5
- name: "Build"
# for some reason qt5 is not correctly in the path and this will break whenever the location of it changes
# 5.15.11 is for macos-12 and 5.15.12 is for macos-13
run: PATH=/usr/local/Cellar/qt@5/5.15.11/lib/cmake/Qt5:/usr/local/Cellar/qt@5/5.15.12/lib/cmake/Qt5:$PATH && make
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies # saves / restores cache to avoid rebuilding dependencies
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50
vcpkgDirectory: c:/vcpkg # folder must reside in c:\ otherwise qt wont install due to long path errors
- name: Run CMake and run vcpkg to build packages
uses: lukka/run-cmake@v10
with:
# this preset is needed to actually install the vcpkg dependencies
configurePreset: "ninja-multi-vcpkg"
configPresetAdditionalArgs: "[-DVCPKG_TARGET_TRIPLET=x64-windows]"
buildPreset: "ninja-multi-vcpkg"
buildPresetAdditionalArgs: "['--config Release']"
env:
# [OPTIONAL] Define the vcpkg's triplet you want to enforce, otherwise the default one
# for the hosting system will be automatically choosen (x64 is the default on all
# platforms, e.g. `x64-osx`).
VCPKG_DEFAULT_TRIPLET: "x64-windows"