Skip to content

Commit

Permalink
Merge branch 'main' into msys_support
Browse files Browse the repository at this point in the history
  • Loading branch information
uilianries authored Sep 15, 2024
2 parents 7af83c8 + 3bf9d44 commit 8171fc4
Show file tree
Hide file tree
Showing 6 changed files with 129 additions and 177 deletions.
29 changes: 17 additions & 12 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,30 @@ jobs:
strategy:
fail-fast: false
matrix:
image:
- r22
platform:
- android-27
- android-29
abi:
- armeabi-v7a
- arm64-v8a
build_type: [Debug, Release]

runs-on: ubuntu-latest

container:
image: bojoe/cpp-android-ndk-build-env-ubuntu:${{ matrix.image }}
options: --user root

runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt -qq update
sudo apt -qq install -y ninja-build --no-install-recommends --no-install-suggests
- uses: actions/checkout@v4

- run: cmake -H$GITHUB_WORKSPACE -B/home/developer/build -GNinja -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI=${{ matrix.abi }} -DANDROID_PLATFORM=${{ matrix.platform }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=${{ matrix.abi }} \
-DANDROID_PLATFORM=${{ matrix.platform }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- run: cmake --build /home/developer/build
- name: Build project
run: cmake --build build/
112 changes: 48 additions & 64 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,73 +11,55 @@ on:
- 'doc/**'

jobs:
linux:
linux-build:
strategy:
fail-fast: false
matrix:
compiler:
- g++-9
- g++-10
- g++-11
- g++-12
- clang++-12
- clang++-13
- clang++-14
build_type: [Debug, Release]

runs-on: ubuntu-latest

env:
CXX: ${{ matrix.compiler }}

steps:
- uses: actions/checkout@v3

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- working-directory: build/
run: cmake --build .

- working-directory: build/
run: ctest --output-on-failure

linux-old:
strategy:
fail-fast: false
matrix:
compiler:
- clang++-7
- clang++-8
- clang++-9
- clang++-10
- clang++-11
build_type: [Debug, Release]

runs-on: ubuntu-20.04

env:
CXX: ${{ matrix.compiler }}
platform:
- os: ubuntu-24.04
compiler: g++-12
- os: ubuntu-24.04
compiler: g++-13
- os: ubuntu-24.04
compiler: g++-14
- os: ubuntu-24.04
compiler: clang++-16
- os: ubuntu-24.04
compiler: clang++-17
- os: ubuntu-24.04
compiler: clang++-18
- os: ubuntu-22.04
compiler: g++-11
- os: ubuntu-22.04
compiler: clang++-13
- os: ubuntu-22.04
compiler: clang++-14
- os: ubuntu-22.04
compiler: clang++-15
build_type: [Release, Debug]
runs-on: ${{ matrix.platform.os }}

steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt -qq update
sudo apt -qq install -y ninja-build --no-install-recommends --no-install-suggests
- run: sudo apt-get update -y
- uses: actions/checkout@v4

- run: sudo apt-get install -y ${{ matrix.compiler }}
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_CXX_COMPILER=${{ matrix.platform.compiler }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- working-directory: build/
run: cmake --build .
- name: Build project
run: cmake --build build/

- working-directory: build/
run: ctest --output-on-failure
- name: Run tests
working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure

linux-gcc-extra:
strategy:
Expand All @@ -86,15 +68,16 @@ jobs:
flags: ["-fno-rtti", "-fno-exceptions"]
build_type: [Debug, Release]

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: seanmiddleditch/gha-setup-ninja@v5

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"
run: cmake $GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"

- working-directory: build/
run: cmake --build .
Expand All @@ -109,18 +92,19 @@ jobs:
flags: ["-fno-rtti", "-fno-exceptions", "-fms-extensions"]
build_type: [Debug, Release]

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

env:
CXX: clang++

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: seanmiddleditch/gha-setup-ninja@v5

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"
run: cmake $GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"

- working-directory: build/
run: cmake --build .
Expand Down
65 changes: 29 additions & 36 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,39 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: 11
- llvm: 18
build_type: Debug
os: macos-11
- xcode: 11
os: macos-14
- llvm: 18
build_type: Release
os: macos-11
- xcode: 12
os: macos-14
- llvm: 16
build_type: Debug
os: macos-11
- xcode: 12
os: macos-13
- llvm: 16
build_type: Release
os: macos-11
- xcode: 13
build_type: Debug
os: macos-12
- xcode: 13
build_type: Release
os: macos-12
- xcode: 14
build_type: Debug
os: macos-12
- xcode: 14
build_type: Release
os: macos-12
os: macos-13
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode }}

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}

- working-directory: build/
run: ctest --config ${{ matrix.build_type }} --output-on-failure
- name: Install Dependencies
run: |
brew update
brew install llvm@${{ matrix.llvm }}
brew install ninja
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_CXX_COMPILER=$(brew --prefix llvm@${{ matrix.llvm }})/bin/clang++ \
-DCMAKE_LINKER=$(brew --prefix llvm@${{ matrix.llvm }})/bin/ld.lld
- name: Build project
run: cmake --build build/ --config ${{ matrix.build_type }}

- name: Run tests
working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure
91 changes: 27 additions & 64 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,94 +11,57 @@ on:
- 'doc/**'

jobs:
vs2022:
windows-msvc:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
os: [windows-2022, windows-2019]

runs-on: windows-latest
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- run: cmake -E make_directory build
- name: Configure Visual Studio Environment
uses: ilammy/msvc-dev-cmd@v1.13.0

- shell: bash
working-directory: build/
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 17 2022"
- name: Install Ninja
uses: seanmiddleditch/gha-setup-ninja@v4

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}
- name: Configure CMake
run: cmake ${{ github.workspace }} -G "Ninja" -B build

- working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure

vs2022-clang:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]

runs-on: windows-latest

steps:
- uses: actions/checkout@v3

- run: cmake -E make_directory build

- shell: bash
working-directory: build/
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 17 2022" -T ClangCL

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}
- name: Build project
run: cmake --build ${{ github.workspace }}\build --config ${{ matrix.build_type }}

- working-directory: build/
- name: Run tests
working-directory: ${{ github.workspace }}\build
run: ctest -C ${{ matrix.build_type }} --output-on-failure

vs2019:
windows-clang:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
os: [windows-2022, windows-2019]

runs-on: windows-2019
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- run: cmake -E make_directory build

- shell: bash
working-directory: build/
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019"

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}

- working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure

vs2019-clang:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]

runs-on: windows-2019

steps:
- uses: actions/checkout@v3
- name: Configure Visual Studio Environment
uses: ilammy/msvc-dev-cmd@v1.13.0

- run: cmake -E make_directory build
- name: Install Ninja
uses: seanmiddleditch/gha-setup-ninja@v4

- shell: bash
working-directory: build/
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019" -T ClangCL
- name: Configure CMake
run: cmake -S ${{ github.workspace }} -B build -G "Ninja" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}
- name: Build project
run: cmake --build ${{ github.workspace }}\build --config ${{ matrix.build_type }}

- working-directory: build/
- working-directory: ${{ github.workspace }}\build
run: ctest -C ${{ matrix.build_type }} --output-on-failure
Loading

0 comments on commit 8171fc4

Please sign in to comment.