parent
283d6a4bae
commit
f1d3b1e2b3
@ -0,0 +1,61 @@
|
|||||||
|
name: Linux CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build, test and install project
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
compiler: ['clang', 'gcc']
|
||||||
|
include:
|
||||||
|
- compiler: 'clang'
|
||||||
|
cc: 'clang'
|
||||||
|
cxx: 'clang++'
|
||||||
|
- compiler: 'gcc'
|
||||||
|
cc: 'gcc'
|
||||||
|
cxx: 'g++'
|
||||||
|
steps:
|
||||||
|
- name: Fetching sources
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Updating apt package metadata
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
- name: Installing compiler
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y install ${{ matrix.compiler }}
|
||||||
|
- name: Installing build system
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y install cmake make
|
||||||
|
- name: Building project with CMake
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build \
|
||||||
|
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
|
||||||
|
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||||
|
-DBUILD_EXAMPLES:BOOL=ON \
|
||||||
|
-DBUILD_TESTS:BOOL=ON
|
||||||
|
cmake --build build
|
||||||
|
env:
|
||||||
|
CFLAGS: -O2 -fexceptions -pipe -Wall -Wextra -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -fstack-protector-strong -fasynchronous-unwind-tables -fcf-protection
|
||||||
|
CXXFLAGS: -O2 -fexceptions -pipe -Wall -Wextra -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -fstack-protector-strong -fasynchronous-unwind-tables -fcf-protection
|
||||||
|
LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
|
||||||
|
- name: Running unit tests with CTest
|
||||||
|
run: |
|
||||||
|
pushd build
|
||||||
|
ctest --output-on-failure
|
||||||
|
popd
|
||||||
|
- name: Installing project with CMake
|
||||||
|
run: |
|
||||||
|
sudo cmake --install build
|
Loading…
Reference in new issue