2
0
mirror of https://github.com/boostorg/cmake.git synced 2026-01-19 04:02:15 +00:00

Exclude non-working configurations

- Testing requires CMake 3.9, exclude earlier and add 3.9 job
- Exclude individual libraries according to their required CMake versions
This commit is contained in:
Alexander Grund
2025-09-30 12:56:32 +02:00
parent 95af1b0423
commit c548be30eb

View File

@@ -386,7 +386,15 @@ jobs:
strategy:
matrix:
enable_test: [ON, OFF]
cmake_version: [default, 3.5.0, 3.6.0, 3.8.0, 3.10.0, 3.13.0, 3.14.0, 3.16.0, 3.19.0, 3.31.0, 4.0.0, 4.1.0]
cmake_version: [default, 3.5.0, 3.6.0, 3.8.0, 3.9.0, 3.10.0, 3.13.0, 3.14.0, 3.16.0, 3.19.0, 3.31.0, 4.0.0, 4.1.0]
exclude:
# BoostTestJamfile requires CMake 3.9
- cmake_version: 3.5.0
enable_test: ON
- cmake_version: 3.6.0
enable_test: ON
- cmake_version: 3.8.0
enable_test: ON
fail-fast: false
runs-on: ubuntu-latest
@@ -474,8 +482,17 @@ jobs:
working-directory: ../boost-root
if: matrix.cmake_version != 'default'
run: |
version_greater_equal() { printf '%s\n' "$2" "$1" | sort --check=quiet --version-sort; }
excluded=()
version_greater_equal ${{matrix.cmake_version}} 3.7.0 || excluded+=("outcome")
version_greater_equal ${{matrix.cmake_version}} 3.8.0 || excluded+=("asio" "atomic" "beast" "bind" "bloom" "callable_traits" "charconv" "chrono" "compat" "container_hash" "contract" "crc" "date_time" "endian" "fiber" "filesystem" "format" "function" "geometry" "gil" "graph" "hana" "hash2" "heap" "hof" "iostreams" "json" "lambda2" "lockfree" "log" "mqtt5" "mysql" "numeric/ublas" "process" "program_options" "property_tree" "random" "ratio" "redis" "safe_numerics" "serialization" "smart_ptr" "static_string" "stl_interfaces" "system" "test" "thread" "type_erasure" "typeof" "unordered" "url" "uuid" "variant2" "wave" "yap")
version_greater_equal ${{matrix.cmake_version}} 3.9.0 || excluded+=("hana" "nowide")
version_greater_equal ${{matrix.cmake_version}} 3.10.0 || excluded+=("gil" "sort")
version_greater_equal ${{matrix.cmake_version}} 3.11.0 || excluded+=("locale")
version_greater_equal ${{matrix.cmake_version}} 3.12.0 || excluded+=("cobalt" "histogram" "msm")
version_greater_equal ${{matrix.cmake_version}} 3.14.0 || excluded+=("parser" "python" "pfr" "mysql") # mysql depends on pfr
/tmp/cmake/bin/cmake --version
/tmp/cmake/bin/cmake -DBUILD_TESTING=${{matrix.enable_test}} -B "__build_cmake-$version" .
/tmp/cmake/bin/cmake -DBUILD_TESTING=${{matrix.enable_test}} -DBOOST_EXCLUDE_LIBRARIES="$(IFS=';'; echo "${excluded[*]}")" -B "__build_cmake-$version" .
BoostTest:
strategy: