162 lines
4.7 KiB
YAML
162 lines
4.7 KiB
YAML
name: build
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler: [g++-10, clang++-14]
|
|
target: [Debug]
|
|
std: [11, 20]
|
|
unwind: [
|
|
CPPTRACE_UNWIND_WITH_EXECINFO,
|
|
CPPTRACE_UNWIND_WITH_NOTHING,
|
|
]
|
|
symbols: [
|
|
CPPTRACE_GET_SYMBOLS_WITH_LIBBACKTRACE,
|
|
CPPTRACE_GET_SYMBOLS_WITH_NOTHING,
|
|
]
|
|
demangle: [
|
|
CPPTRACE_DEMANGLE_WITH_CXXABI,
|
|
CPPTRACE_DEMANGLE_WITH_NOTHING,
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: dependencies
|
|
run: sudo apt install gcc-10 g++-10 libgcc-10-dev
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. \
|
|
-DCMAKE_BUILD_TYPE=${{matrix.target}} \
|
|
-DCMAKE_CXX_COMPILER=${{matrix.compiler}} \
|
|
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
|
|
-D${{matrix.unwind}}=On \
|
|
-D${{matrix.symbols}}=On \
|
|
-D${{matrix.demangle}}=On \
|
|
-DCPPTRACE_BACKTRACE_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/include/backtrace.h
|
|
make
|
|
build-windows:
|
|
runs-on: windows-2019
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler: [cl, clang++]
|
|
target: [Debug]
|
|
std: [11, 20]
|
|
unwind: [
|
|
CPPTRACE_UNWIND_WITH_WINAPI,
|
|
CPPTRACE_UNWIND_WITH_NOTHING,
|
|
]
|
|
symbols: [
|
|
CPPTRACE_GET_SYMBOLS_WITH_DBGHELP,
|
|
CPPTRACE_GET_SYMBOLS_WITH_NOTHING,
|
|
]
|
|
demangle: [
|
|
# CPPTRACE_DEMANGLE_WITH_CXXABI,
|
|
CPPTRACE_DEMANGLE_WITH_NOTHING,
|
|
]
|
|
exclude:
|
|
- demangle: CPPTRACE_DEMANGLE_WITH_CXXABI
|
|
compiler: cl
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Enable Developer Command Prompt
|
|
uses: ilammy/msvc-dev-cmd@v1.10.0
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. `
|
|
-DCMAKE_BUILD_TYPE=Debug `
|
|
-DCMAKE_CXX_COMPILER=${{matrix.compiler}} `
|
|
-DCMAKE_CXX_STANDARD=${{matrix.std}} `
|
|
-D${{matrix.unwind}}=On `
|
|
-D${{matrix.symbols}}=On `
|
|
-D${{matrix.demangle}}=On
|
|
msbuild .\cpptrace.sln
|
|
|
|
build-linux-full-or-auto:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler: [g++-10, clang++-14]
|
|
target: [Debug]
|
|
std: [11, 20]
|
|
config: ["-DCPPTRACE_FULL_TRACE_WITH_LIBBACKTRACE=On", ""]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: dependencies
|
|
run: sudo apt install gcc-10 g++-10 libgcc-10-dev
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. \
|
|
-DCMAKE_BUILD_TYPE=${{matrix.target}} \
|
|
-DCMAKE_CXX_COMPILER=${{matrix.compiler}} \
|
|
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
|
|
-DCPPTRACE_BACKTRACE_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/include/backtrace.h \
|
|
${{matrix.config}}
|
|
make
|
|
# TODO: -DCMAKE_CXX_STANDARD isn't being honored?
|
|
# build-linux-full-or-auto-23:
|
|
# runs-on: ubuntu-22.04
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# compiler: [g++-12, clang++-14]
|
|
# target: [Debug]
|
|
# std: [23]
|
|
# config: ["-DCPPTRACE_FULL_TRACE_WITH_STACKTRACE=On", ""]
|
|
# exclude:
|
|
# - config: "-DCPPTRACE_FULL_TRACE_WITH_STACKTRACE=On"
|
|
# compiler: clang++-14
|
|
# steps:
|
|
# - uses: actions/checkout@v2
|
|
# - name: dependencies
|
|
# run: sudo apt install gcc-12 g++-12 libgcc-12-dev
|
|
# - name: build
|
|
# run: |
|
|
# mkdir -p build
|
|
# cd build
|
|
# cmake .. \
|
|
# -DCMAKE_BUILD_TYPE=${{matrix.target}} \
|
|
# -DCMAKE_CXX_COMPILER=${{matrix.compiler}} \
|
|
# -DCMAKE_CXX_STANDARD=${{matrix.std}} \
|
|
# -DCPPTRACE_BACKTRACE_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/include/backtrace.h \
|
|
# ${{matrix.config}}
|
|
# make
|
|
build-windows-full-or-auto:
|
|
runs-on: windows-2019
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler: [cl, clang++]
|
|
target: [Debug]
|
|
std: [11, 20]
|
|
config: [""]
|
|
exclude:
|
|
- config: -DCPPTRACE_FULL_TRACE_WITH_LIBBACKTRACE=On # TODO
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Enable Developer Command Prompt
|
|
uses: ilammy/msvc-dev-cmd@v1.10.0
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. `
|
|
-DCMAKE_BUILD_TYPE=Debug `
|
|
-DCMAKE_CXX_COMPILER=${{matrix.compiler}} `
|
|
-DCMAKE_CXX_STANDARD=${{matrix.std}} `
|
|
${{matrix.config}}
|
|
msbuild .\cpptrace.sln
|