- Tries apt clang-18/17/16/15 first (Ubuntu 22.04+) - Falls back to LLVM repo install for Ubuntu 20.04 - Auto-detects installed clang version for CMake compiler flags - Both CMake 3.28 (binary download) and C++23 compiler required
This commit is contained in:
+20
-3
@@ -15,7 +15,21 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update -qq
|
apt-get update -qq
|
||||||
apt-get install -y -qq clang ninja-build curl
|
# Try clang-15+ first (Ubuntu 22.04+)
|
||||||
|
if apt-cache show clang-18 >/dev/null 2>&1; then
|
||||||
|
apt-get install -y -qq clang-18 ninja-build curl
|
||||||
|
elif apt-cache show clang-17 >/dev/null 2>&1; then
|
||||||
|
apt-get install -y -qq clang-17 ninja-build curl
|
||||||
|
elif apt-cache show clang-16 >/dev/null 2>&1; then
|
||||||
|
apt-get install -y -qq clang-16 ninja-build curl
|
||||||
|
elif apt-cache show clang-15 >/dev/null 2>&1; then
|
||||||
|
apt-get install -y -qq clang-15 ninja-build curl
|
||||||
|
else
|
||||||
|
# Ubuntu 20.04: install from LLVM repo
|
||||||
|
apt-get install -y -qq wget lsb-release
|
||||||
|
wget -qO- https://apt.llvm.org/llvm.sh | bash -s -- 18
|
||||||
|
apt-get install -y -qq ninja-build curl
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Install CMake 3.28
|
- name: Install CMake 3.28
|
||||||
run: |
|
run: |
|
||||||
@@ -24,9 +38,12 @@ jobs:
|
|||||||
|
|
||||||
- name: Build kappa
|
- name: Build kappa
|
||||||
run: |
|
run: |
|
||||||
|
CC=$(ls /usr/bin/clang-1[5-9] /usr/bin/clang-2[0-9] 2>/dev/null | head -1)
|
||||||
|
if [ -z "$CC" ]; then CC=/usr/bin/clang-18; fi
|
||||||
|
CXX="${CC}++"
|
||||||
cmake -B build -G Ninja \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_C_COMPILER=clang \
|
-DCMAKE_C_COMPILER="$CC" \
|
||||||
-DCMAKE_CXX_COMPILER=clang++
|
-DCMAKE_CXX_COMPILER="$CXX"
|
||||||
cmake --build build
|
cmake --build build
|
||||||
|
|
||||||
- name: DSL and CLI tests
|
- name: DSL and CLI tests
|
||||||
|
|||||||
Reference in New Issue
Block a user