From 3289eb39670dad4ab93f901ce19047853e50002a Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 14 Nov 2026 03:49:50 +0000 Subject: [PATCH] fix(ci): Build Texel 1.08 under cmake 4 by raising the policy floor to 3.5 The texel:1.08 rung of the calibration ladders stopped building once the runner image moved to cmake 4. Texel vendors a gtest for its tests whose cmake file asks for cmake 2.8.12, and cmake 4 refuses to configure anything that asks for less than 3.5: CMake Error at test/gtest/CMakeLists.txt:56 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake. The configure step now passes -DCMAKE_POLICY_VERSION_MINIMUM=3.5, which is what cmake's own message suggests. The source, the pin and the build options are unchanged, so what plays is still the rated release. A cmake older than 4 ignores the variable and builds as before. Built with cmake 4.4.4 and with cmake 3.28.3. Both binaries answer uci as Texel 1.08. Co-Authored-By: Claude Fable 5.2 Claude-Session: https://claude.ai/code/session_01EYmME6yiwe8qbHTU6UgM2z --- scripts/opponent.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/opponent.sh b/scripts/opponent.sh index 3c9e040b..d26eaccb 100755 --- a/scripts/opponent.sh +++ b/scripts/opponent.sh @@ -163,10 +163,14 @@ topple_build() { # Texel, built by its own cmake file from 1.08, the first release to have one. # Its defaults are a plain x86-64; popcount and the bit scans are asked for -# as in the weiss block. Its tags carry no v, so a pin is 1.08. +# as in the weiss block. Its tags carry no v, so a pin is 1.08. The gtest it +# vendors for its tests asks for cmake 2.8.12, which cmake 4 refuses to +# configure, so the policy floor is raised to the 3.5 cmake 4 will take. An +# older cmake ignores the variable. REPOSITORY[texel]=https://github.com/peterosterlund2/texel.git texel_build() { cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DUSE_POPCNT=ON -DUSE_CTZ=ON -DUSE_PREFETCH=ON > /dev/null cmake --build build -j"$(nproc)" --target texel > /dev/null echo build/texel