Skip to content

Fix

Fix #282

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
GCC:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
cxxstd: [20, 23]
name: GCC-12 C++${{matrix.cxxstd}}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build gcc-12
- name: Build
run: >
./build.sh
-DCMAKE_CXX_STANDARD=${{matrix.cxxstd}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=gcc-12
-DCMAKE_CXX_COMPILER=g++-12
-Dpapilio_build_unit_test=1
-Dpapilio_build_example=1
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
- name: Display Infomation
working-directory: ${{github.workspace}}/build/example
run: ./info
- name: Install
working-directory: ${{github.workspace}}/build
run: sudo cmake --install .
- name: Test Installation
run: |
cmake -GNinja -S test/test_install/ -B build/papilio_test_install -DCMAKE_CXX_COMPILER=g++-12
cmake --build build/papilio_test_install
build/papilio_test_install/papilio_test_install
- name: Test add_subdirectory
run: |
cmake -GNinja -S test/test_subdir/ -B build/papilio_test_subdir -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-12
cmake --build build/papilio_test_subdir
build/papilio_test_subdir/papilio_test_subdir
Clang:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
clang: [15]
cxxstd: [20]
stdlib: ["libstdc++", "libc++"]
name: Clang-${{matrix.clang}} C++${{matrix.cxxstd}} ${{matrix.stdlib}}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build clang-${{matrix.clang}}
- name: Install libc++
if: ${{matrix.stdlib == 'libc++'}}
run: |
sudo apt-get install -y libc++-${{matrix.clang}}-dev libc++abi-${{matrix.clang}}-dev
- name: Build
if: ${{matrix.stdlib == 'libstdc++'}}
run: >
./build.sh
-DCMAKE_CXX_STANDARD=${{matrix.cxxstd}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=clang-${{matrix.clang}}
-DCMAKE_CXX_COMPILER=clang++-${{matrix.clang}}
-Dpapilio_build_unit_test=1
-Dpapilio_build_example=1
- name: Build
if: ${{matrix.stdlib == 'libc++'}}
run: >
./build.sh
-DCMAKE_CXX_STANDARD=${{matrix.cxxstd}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=clang-${{matrix.clang}}
-DCMAKE_CXX_COMPILER=clang++-${{matrix.clang}}
-Dpapilio_build_unit_test=1
-Dpapilio_build_example=1
-Dpapilio_use_libcpp=1
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
- name: Display Infomation
working-directory: ${{github.workspace}}/build/example
run: ./info
MSVC:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
cxxstd: [20, 23]
name: MSVC C++${{matrix.cxxstd}}
env:
VCPKG_BUILD_TYPE: release
VCPKG_DEFAULT_TRIPLET: x64-windows
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Build
run: >
./build.ps1
-DCMAKE_CXX_STANDARD=${{matrix.cxxstd}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
-Dpapilio_build_unit_test=1
-Dpapilio_build_example=1
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
- name: Display Infomation
working-directory: ${{github.workspace}}/build/example
run: .\info.exe
ClangCl:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
cxxstd: [20, 23]
name: ClangCl C++${{matrix.cxxstd}}
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Build
run: >
./build.ps1
-DCMAKE_CXX_STANDARD=${{matrix.cxxstd}}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=clang-cl
-DCMAKE_CXX_COMPILER=clang-cl
-Dpapilio_build_unit_test=1
-Dpapilio_build_example=1
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest
- name: Display Infomation
working-directory: ${{github.workspace}}/build/example
run: .\info.exe