-
Notifications
You must be signed in to change notification settings - Fork 20
44 lines (44 loc) · 1.6 KB
/
c-cpp.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
name: C/C++ CI
'on':
push:
branches:
- master
pull_request:
branches:
- master
jobs:
Build:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
# remove libunwind-*-dev from the runner to avoid conflicts with a dependency of libgstreamer1.0-dev
sudo apt-get remove -y libunwind-14-dev libunwind-13-dev
sudo apt-get install -y curl libcurl4-openssl-dev cmake gstreamer1.0-plugins-base libgstreamer1.0-dev python3-pip python3-setuptools
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew update
# install python 3.11 explicitly to avoid it failing to overwrite the pre-installed python when it's pulled in as a dependency
brew install --overwrite [email protected]
brew install --overwrite gstreamer
- uses: actions/checkout@v3
- run: pip3 install meson ninja
- run: 'git clone --recurse-submodules --depth 1 https://github.com/aws/aws-sdk-cpp.git -b 1.11.304'
- run: cmake -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3;sts" aws-sdk-cpp
- run: make -j 4
- run: sudo make install
- name: Run ldconfig on linux
if: runner.os == 'Linux'
run: sudo ldconfig
- run: meson build
- run: ninja -C build
- run: 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH'
- run: ninja -C build test