mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-12-21 21:13:06 +00:00
build and test LLVM version 16
Add LLVM-16 to the Nix builds and CI matrix. Also add the option to explicitly select an LLVM version so the CircleCI build can still work as before. We should support at least LLVM-17 currently, but there appears to be a significant performance regression in compiling the generated code for large variants that I'm going to debug separately. The long term goal is to support and test all versions 15 and up. Test plan: - CI
This commit is contained in:
parent
40d3f39741
commit
8831269523
@ -101,7 +101,7 @@ jobs:
|
||||
- run:
|
||||
name: Build
|
||||
command: |
|
||||
/tmp/cmake/build/bin/cmake -G Ninja -B build/ -DWITH_FLAKY_TESTS=Off -DCODE_COVERAGE=On -DWARNINGS_AS_ERRORS=<< parameters.warnings_as_errors >>
|
||||
/tmp/cmake/build/bin/cmake -G Ninja -B build/ -DLLVM_REQUESTED_VERSION=15 -DWITH_FLAKY_TESTS=Off -DCODE_COVERAGE=On -DWARNINGS_AS_ERRORS=<< parameters.warnings_as_errors >>
|
||||
ninja -C build/
|
||||
# Testing rubbish:
|
||||
cp test/ci.oid.toml build/testing.oid.toml
|
||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
runs-on: 16-core-ubuntu
|
||||
strategy:
|
||||
matrix:
|
||||
llvm_version: [15]
|
||||
llvm_version: [15, 16]
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- uses: cachix/install-nix-action@v27
|
||||
|
2
.github/workflows/test-report.yml
vendored
2
.github/workflows/test-report.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
steps:
|
||||
- uses: dorny/test-reporter@v1
|
||||
with:
|
||||
artifact: test-results-15
|
||||
artifact: test-results-16
|
||||
name: CTest Tests
|
||||
path: results.xml
|
||||
reporter: jest-junit
|
||||
|
@ -218,11 +218,16 @@ find_package(Boost REQUIRED COMPONENTS
|
||||
)
|
||||
message(STATUS "Linking Boost libraries: ${Boost_LIBRARIES}")
|
||||
|
||||
### LLVM and Clang - Preferring Clang 15
|
||||
find_package(LLVM 15 REQUIRED CONFIG)
|
||||
### LLVM and Clang
|
||||
find_package(LLVM ${LLVM_REQUESTED_VERSION} REQUIRED CONFIG)
|
||||
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||
|
||||
if((${LLVM_VERSION_MAJOR} VERSION_LESS 15) OR (${LLVM_VERSION_MAJOR} VERSION_GREATER 16))
|
||||
message(SEND_ERROR "Object Introspection currently requires an LLVM version between 15 and 16!")
|
||||
endif()
|
||||
|
||||
find_package(Clang REQUIRED CONFIG)
|
||||
message(STATUS "Found Clang ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using ClangConfig.cmake in: ${Clang_DIR}")
|
||||
|
Loading…
Reference in New Issue
Block a user