Start cleanup to prepare to add reflection on function bodies (starti… #838
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: Multi-platform Build of cppfront | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
push: | |
paths-ignore: | |
- 'docs/**' | |
workflow_dispatch: | |
jobs: | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- name: Compiler name & version | |
run: cl.exe | |
- name: Build | |
run: cl.exe source/cppfront.cpp -std:c++latest -MD -EHsc -experimental:module -W4 -WX | |
build-unix-like: | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: [ubuntu-22.04] | |
compiler: [g++-10, g++-11, g++-12, clang++-12, clang++-14] | |
cxx-std: ['c++20', 'c++2b'] | |
exclude: | |
# GCC 10 doesn't have support for c++23 | |
- compiler: g++-10 | |
cxx-std: 'c++2b' | |
# Clang 12 and 14 do not compile on 'c++2b' due to llvm/llvm-project#58206 | |
- compiler: clang++-12 | |
cxx-std: 'c++2b' | |
- compiler: clang++-14 | |
cxx-std: 'c++2b' | |
include: | |
- runs-on: macos-latest | |
compiler: clang++ | |
cxx-std: 'c++20' | |
- runs-on: ubuntu-22.04 | |
compiler: clang++-15 | |
cxx-std: 'c++20' | |
- runs-on: ubuntu-24.04 | |
compiler: clang++-16 | |
cxx-std: 'c++20' | |
- runs-on: ubuntu-24.04 | |
compiler: clang++-17 | |
cxx-std: 'c++20' | |
- runs-on: ubuntu-24.04 | |
compiler: clang++-18 | |
cxx-std: 'c++20' | |
- runs-on: ubuntu-24.04 | |
compiler: clang++-18 | |
cxx-std: 'c++23' | |
- runs-on: ubuntu-24.04 | |
compiler: g++-14 | |
cxx-std: 'c++2b' | |
runs-on: ${{ matrix.runs-on }} | |
env: | |
CXX: ${{ matrix.compiler }} | |
CXXFLAGS: -std=${{ matrix.cxx-std }} -Wall -Wextra -Wold-style-cast -Wunused-parameter -Wpedantic -Werror -pthread -Wno-unknown-warning -Wno-unknown-warning-option | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install compiler | |
if: startsWith(matrix.runs-on, 'ubuntu') | |
run: sudo apt-get install -y $CXX | |
- name: Compiler name & version | |
run: $CXX --version | |
- name: Build | |
run: $CXX source/cppfront.cpp $CXXFLAGS -o cppfront |