Skip to content

Commit 6a7ed97

Browse files
authored
Relax version constraints for flatbuffers, wabt in CMake (#9016)
- Add testing against Ubuntu package repository in GHA - Add CMake presets for Ubuntu that disable wasm (the 24.04 LTS package lacks PIC) - Remove workaround for some old LLVM versions from #5135
1 parent dffcf8f commit 6a7ed97

4 files changed

Lines changed: 77 additions & 14 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Ecosystem
2+
on:
3+
pull_request:
4+
types: [ opened, synchronize, reopened ]
5+
paths:
6+
- '**.h'
7+
- '**.c'
8+
- '**.cpp'
9+
- 'CMakeLists.txt'
10+
- '**.cmake'
11+
- '.github/workflows/testing-ecosystem.yml'
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15+
cancel-in-progress: true
16+
17+
permissions:
18+
contents: read
19+
20+
env:
21+
LLVM_VERSION: 22
22+
23+
jobs:
24+
check_ubuntu:
25+
if: "!contains(github.event.pull_request.labels.*.name, 'skip_buildbots')"
26+
name: CMake configure (Ubuntu 24.04)
27+
runs-on: ubuntu-24.04
28+
steps:
29+
- uses: actions/checkout@v4
30+
31+
- name: Install dependencies
32+
run: |
33+
# Get new enough LLVM from apt.llvm.org
34+
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
35+
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-${LLVM_VERSION} main" | \
36+
sudo tee "/etc/apt/sources.list.d/llvm-${LLVM_VERSION}.list"
37+
38+
# Get everything else from upstream Ubuntu
39+
sudo apt-get update && sudo apt-get install -y \
40+
"clang-${LLVM_VERSION}" \
41+
curl \
42+
flatbuffers-compiler \
43+
"libclang-${LLVM_VERSION}-dev" \
44+
libedit-dev \
45+
libflatbuffers-dev \
46+
libpng-dev \
47+
libjpeg-turbo8-dev \
48+
"liblld-${LLVM_VERSION}-dev" \
49+
"lld-${LLVM_VERSION}" \
50+
"llvm-${LLVM_VERSION}-dev" \
51+
pybind11-dev
52+
53+
- name: Check CMake configures
54+
run: cmake --preset ubuntu-release -DHalide_LLVM_ROOT="/usr/lib/llvm-${LLVM_VERSION}"

CMakePresets.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,26 @@
114114
"CMAKE_BUILD_TYPE": "Release"
115115
}
116116
},
117+
{
118+
"name": "ubuntu",
119+
"inherits": "base",
120+
"hidden": true,
121+
"cacheVariables": {
122+
"Halide_WASM_BACKEND": "OFF"
123+
}
124+
},
125+
{
126+
"name": "ubuntu-debug",
127+
"inherits": ["ubuntu", "debug"],
128+
"displayName": "Debug (Ubuntu)",
129+
"description": "Debug build for a single-config generator, Ubuntu dependencies"
130+
},
131+
{
132+
"name": "ubuntu-release",
133+
"inherits": ["ubuntu", "release"],
134+
"displayName": "Release (Ubuntu)",
135+
"description": "Release build for a single-config generator, Ubuntu dependencies"
136+
},
117137
{
118138
"name": "debug-vcpkg",
119139
"inherits": [

cmake/FindHalide_LLVM.cmake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@
44

55
set(REASON_FAILURE_MESSAGE "")
66

7-
# Fallback configurations for weirdly built LLVMs
8-
set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL MinSizeRel Release RelWithDebInfo "")
9-
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RelWithDebInfo Release MinSizeRel "")
10-
set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release MinSizeRel RelWithDebInfo "")
11-
127
set(llvm_paths "")
138
foreach (
149
template IN ITEMS

src/CMakeLists.txt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -521,14 +521,8 @@ target_compile_definitions(Halide PRIVATE WITH_WEBGPU)
521521

522522
# Build serialization, enabled by default
523523
if (WITH_SERIALIZATION)
524-
# Sadly, there seem to be at least three variations of the Flatbuffer
525-
# package in terms of the case of the relevant CMake files. Fortunately,
526-
# the IMPORTED targets appear to be consistently named `flatbuffers`.
527-
find_package(
528-
flatbuffers 23.5.26 REQUIRED
529-
NAMES flatbuffers Flatbuffers FlatBuffers
530-
)
531-
_Halide_pkgdep(flatbuffers)
524+
find_package(FlatBuffers REQUIRED)
525+
_Halide_pkgdep(FlatBuffers)
532526

533527
target_link_libraries(Halide PRIVATE flatbuffers::flatbuffers)
534528

@@ -583,7 +577,7 @@ if (MSVC AND Halide_WASM_BACKEND STREQUAL "wabt")
583577
endif ()
584578

585579
if (Halide_WASM_BACKEND STREQUAL "wabt")
586-
find_package(wabt 1.0.39 REQUIRED)
580+
find_package(wabt REQUIRED)
587581
_Halide_pkgdep(wabt)
588582

589583
target_link_libraries(Halide PRIVATE wabt::wabt)

0 commit comments

Comments
 (0)