Skip to content

Trying to fix Boost dependencies #132

Trying to fix Boost dependencies

Trying to fix Boost dependencies #132

Workflow file for this run

---
name: Build and Test
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Formatting
run: find src include test -iregex '.*\.\(c\|h\|cpp\|hpp\|cc\|hh\|cxx\|hxx\)$' | xargs clang-format -n -Werror
build-linux:
runs-on: ubuntu-latest
env:
TARGET: x86_64-linux
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CTEST_OUTPUT_ON_FAILURE: 1
CTEST_TEST_TIMEOUT: 20
steps:
- uses: actions/checkout@v3
- name: Install compiler tools
run: |
sudo apt-get -qy update
sudo apt-get -qy install cmake ninja-build
CMAKE_BUILD_PARALLEL_LEVEL=$(nproc)
echo "CMAKE_BUILD_PARALLEL_LEVEL=$CMAKE_BUILD_PARALLEL_LEVEL" >> $GITHUB_ENV
- name: Build without getlibs
run: |
BUILD=build-x86_64-linux-debug
cmake -S . -B "$BUILD" -DUBSAN=ON
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
- name: Get dependencies
run: |
CMAKE_BUILD_TYPE=Release ./getlibs.sh $TARGET
- name: Build with getlibs
run: |
BUILD=build-x86_64-linux-libs-debug
cmake -S . -B "$BUILD" -DCMAKE_PREFIX_PATH="$PWD/local/$TARGET" -DUBSAN=ON -DFIND_FATAL=ON
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
build-win:
runs-on: ubuntu-latest
env:
TARGET: x86_64-w64-mingw32
WINARCH: win64
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/x86_64-w64-mingw32.cmake
CTEST_OUTPUT_ON_FAILURE: 1
CTEST_TEST_TIMEOUT: 20
steps:
- uses: actions/checkout@v3
- name: Install cross-compiler tools
run: |
sudo apt-get -qy update
sudo apt-get -qy install cmake ninja-build g++-mingw-w64-x86-64 mingw-w64-x86-64-dev mingw-w64-tools wine wine-binfmt
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
WINEPATH=$(./winepath-for $TARGET)
echo "WINEPATH=$WINEPATH" >> $GITHUB_ENV
CMAKE_BUILD_PARALLEL_LEVEL=$(nproc)
echo "CMAKE_BUILD_PARALLEL_LEVEL=$CMAKE_BUILD_PARALLEL_LEVEL" >> $GITHUB_ENV
- name: Build without getlibs
run: |
BUILD=build-x86_64-w64-mingw32-${CMAKE_BUILD_TYPE,,}
cmake -S . -B "$BUILD"
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
- name: Get dependencies
run: |
CMAKE_BUILD_TYPE=Release ./getlibs.sh $TARGET
- name: Build with getlibs
run: |
BUILD=build-x86_64-w64-mingw32-libs-${CMAKE_BUILD_TYPE,,}
cmake -S . -B "$BUILD" -DCMAKE_PREFIX_PATH="$PWD/local/$TARGET" -DFIND_FATAL=ON
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
build-macos:
runs-on: macos-latest
env:
TARGET: x86_64-darwin
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CTEST_OUTPUT_ON_FAILURE: 1
CTEST_TEST_TIMEOUT: 20
steps:
- uses: actions/checkout@v3
- name: Install Ninja
run: |
brew install ninja
CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.ncpu)
echo "CMAKE_BUILD_PARALLEL_LEVEL=$CMAKE_BUILD_PARALLEL_LEVEL" >> $GITHUB_ENV
- name: Build without getlibs
run: |
BUILD=build-x86_64-darwin-debug
cmake -S . -B "$BUILD"
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
- name: Get dependencies
run: |
CMAKE_BUILD_TYPE=Release ./getlibs.sh $TARGET
- name: Build with getlibs
run: |
BUILD=build-x86_64-darwin-libs-debug
cmake -S . -B "$BUILD" -DCMAKE_PREFIX_PATH="$PWD/local/x86_64-darwin" -DFIND_FATAL=ON
cmake --build "$BUILD" --config $CMAKE_BUILD_TYPE
(cd "$BUILD" && ctest -C $CMAKE_BUILD_TYPE)
build-windows:
runs-on: windows-latest
env:
CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake
CMAKE_BUILD_TYPE: Debug
STATIC: ON
CTEST_TEST_TIMEOUT: 20
CTEST_OUTPUT_ON_FAILURE: 1
steps:
- uses: actions/checkout@v3
- name: Build without getlibs
run: |
$env:BUILD='build-x86_64-windows-debug'
cmake -S . -B $env:BUILD
cmake --build $env:BUILD --config $env:CMAKE_BUILD_TYPE
cd $env:BUILD
ctest -C $env:CMAKE_BUILD_TYPE
- name: Get dependencies
run: |
vcpkg integrate install
vcpkg install doctest --triplet x64-windows
pwsh -Command { $env:CMAKE_BUILD_TYPE=Release; bash ./getlibs.sh x86_64-w64-mingw32 }
- name: Build with getlibs
run: |
$env:BUILD='build-x86_64-windows-libs-debug'
cmake -S . -B $env:BUILD -DCMAKE_PREFIX_PATH=${{ github.workspace }}/local/x86_64-w64-mingw32
cmake --build $env:BUILD --config $env:CMAKE_BUILD_TYPE
cd $env:BUILD
ctest -C $env:CMAKE_BUILD_TYPE