Skip to content

Commit

Permalink
Updating CI to GCC14, Clang19 and Ubuntu 24.04
Browse files Browse the repository at this point in the history
  • Loading branch information
Epixu committed Nov 9, 2024
1 parent 24f2e8a commit d25c6d5
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 26 deletions.
45 changes: 26 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest]
os: [ubuntu-24.04, windows-latest]
build: [Release]
arch: [x86, x64]
cxx: [g++, clang++-17, ClangCl, v143]
cxx: [g++-14, clang++-19, ClangCl, v143]
feature: [
[NoSIMD, 16, ' ', '/arch:IA32'],
[SSE2, 16, '-msse2', '/arch:SSE2'],
Expand All @@ -26,14 +26,14 @@ jobs:
]

exclude:
- os: ubuntu-22.04
- os: ubuntu-24.04
cxx: v143
- os: ubuntu-22.04
- os: ubuntu-24.04
cxx: ClangCl
- os: windows-latest
cxx: g++
cxx: g++-14
- os: windows-latest
cxx: clang++-17
cxx: clang++-19

- arch: x64
cxx: ClangCl
Expand Down Expand Up @@ -97,14 +97,14 @@ jobs:
- feature: [AVX512, 64, '-mavx512f', '/arch:AVX512']

include:
- cxx: g++
c: gcc
- cxx: clang++-17
c: clang-17
- os: ubuntu-22.04
- cxx: g++-14
c: gcc-14
- cxx: clang++-19
c: clang-19
- os: ubuntu-24.04
arch: x86
cmake_args: "-DCMAKE_CXX_FLAGS=-m32"
- os: ubuntu-22.04
- os: ubuntu-24.04
arch: x64
cmake_args: "-DCMAKE_CXX_FLAGS=-m64"
- os: windows-latest
Expand All @@ -120,21 +120,28 @@ jobs:
- name: Clone
uses: actions/checkout@v4

- if: matrix.os == 'ubuntu-22.04' && matrix.arch == 'x86'
- if: matrix.os == 'ubuntu-24.04' && matrix.arch == 'x86'
name: Prepare Linux for cross-compilation
run: |
sudo apt update
sudo apt install g++-multilib
sudo apt install g++-14-multilib
- if: matrix.cxx == 'clang++-17'
name: Installing Clang 17
- if: matrix.cxx == 'g++-14'
name: Installing G++ 14
run: |
sudo apt update
sudo apt install gcc-14 g++-14
- if: matrix.cxx == 'clang++-19'
name: Installing Clang 19
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
sudo apt-add-repository "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main"
sudo apt update
sudo apt install clang-17
sudo apt install gcc-14 g++-14 # clang-19 needs stdc++14.2 see https://github.com/llvm/llvm-project/issues/102336
sudo apt install clang-19
- if: matrix.os == 'ubuntu-22.04'
- if: matrix.os == 'ubuntu-24.04'
name: Configure (Linux)
run: >
mkdir build && cd build && cmake ..
Expand Down
14 changes: 7 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ if(PROJECT_IS_TOP_LEVEL OR NOT LANGULUS)
include(LangulusUtilities.cmake)

# Add Langulus::Core/Logger/RTTI/SIMD/Fractalloc/Anyness/Flow libraries
fetch_langulus_module(Core GIT_TAG 393d95b6ab13fc5846bda8a3044e4ca62f02fd5a)
fetch_langulus_module(Logger GIT_TAG 69626cd4c738195df0929a1cd867317422506e61)
fetch_langulus_module(RTTI GIT_TAG 720e675b1ea114156c309fe44871e03557e0a64f)
fetch_langulus_module(Core GIT_TAG 35756f11d2f9c475f27b094b8d4c82cd453969fc)
fetch_langulus_module(Logger GIT_TAG dafbeb825071ec60d8403254143f75606151a7e6)
fetch_langulus_module(RTTI GIT_TAG fc49750884ac943dff4261ac5b8dfb2c148423d7)
if(LANGULUS_FEATURE_MANAGED_MEMORY)
fetch_langulus_module(Fractalloc GIT_TAG b4917194b18c139969fb9d0a14bf993ee5f2582a)
fetch_langulus_module(Fractalloc GIT_TAG 66408e8557b1bb3c80615909129342bcebd3fb9f)
endif()
fetch_langulus_module(SIMD GIT_TAG 6611cf422e3c8157b88c086f30966afbf4e7dc6c)
fetch_langulus_module(Anyness GIT_TAG 7e433990052d2cf4c1dbd73afdddb1c697d92c56)
fetch_langulus_module(Flow GIT_TAG 4a0b0f349e5a6f543114b9269f96f55adc025a60)
fetch_langulus_module(SIMD GIT_TAG ead5493049e2800b4c3c02d385c0c6314efac69c)
fetch_langulus_module(Anyness GIT_TAG 46a6513d6bcf3d532e9bf746b50d1299692eb96a)
fetch_langulus_module(Flow GIT_TAG 06000427afccf13016738140d09850f0b8cf837b)
endif()

file(GLOB_RECURSE
Expand Down

0 comments on commit d25c6d5

Please sign in to comment.