lean4-htt/src
Kim Morrison f3752861c9
fix: validate stage0 version matches release version (#12700)
This PR fixes a CMake scoping bug that made `-DLEAN_VERSION_*` overrides
ineffective.

The version variables (`LEAN_VERSION_MAJOR`, `MINOR`, `PATCH`,
`IS_RELEASE`) were declared with plain `set()`, which creates normal
variables that shadow cache variables set by `-D` on the command line.
The fix changes them to `CACHE STRING ""` to match the existing
`LEAN_SPECIAL_VERSION_DESC` pattern.

However, `CACHE STRING ""` alone isn't sufficient because `project(LEAN
CXX C)` implicitly creates empty `LEAN_VERSION_{MAJOR,MINOR,PATCH}`
normal variables (CMake sets `<PROJECT>_VERSION_*` for the project
name). These shadow the cache values, so we `unset()` them after the
cache declarations to let `${VAR}` fall through to the cache.

Closes https://github.com/leanprover/lean4/issues/12681

🤖 Prepared with Claude Code

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:31:29 +00:00
..
bin perf: separate meta and non-meta initializers (#12016) 2026-02-26 08:05:19 +00:00
cmake chore: reformat all cmake files (#12218) 2026-01-28 18:23:08 +00:00
include/lean feat: non exponential codegen for reset-reuse (#12665) 2026-02-26 09:35:45 +00:00
Init feat: model for string patterns (#12779) 2026-03-03 18:42:25 +00:00
initialize
kernel perf: cache unfold_definition in the kernel (#12259) 2026-01-31 03:44:50 +00:00
lake feat: lake: download artifacts on demand (#12634) 2026-03-03 03:48:56 +00:00
Lean chore: deprecate levelZero and levelOne (#12720) 2026-03-04 01:03:08 +00:00
LeanChecker feat: add declaration name to leanchecker error messages (#12525) 2026-02-17 16:08:00 +00:00
library feat: non exponential codegen for reset-reuse (#12665) 2026-02-26 09:35:45 +00:00
runtime feat: lazy initialization of closed terms (#12044) 2026-02-20 08:45:15 +00:00
shell chore: move test suite setup to tests/CMakeLists.txt (#12278) 2026-02-03 13:22:20 +00:00
Std feat: add ExceptConds.and_elim_left/right (#12760) 2026-03-04 00:47:30 +00:00
util chore: update to c++20 (#12117) 2026-02-11 01:17:40 +00:00
cadical.mk
CMakeLists.txt fix: validate stage0 version matches release version (#12700) 2026-03-04 01:31:29 +00:00
config.h.in
githash.h.in
Init.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
lakefile.toml.in feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
lean-toolchain chore: relative lean-toolchains (#12652) 2026-02-25 10:23:35 +00:00
Lean.lean refactor: move getOriginalConstKind? into its own module to avoid future import cycle (#12265) 2026-02-01 16:18:51 +00:00
lean.mk.in
Leanc.lean
LeanChecker.lean feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
out
Std.lean
stdlib.make.in chore: clean up stdlib.make.in (#12614) 2026-02-20 16:59:34 +00:00
stdlib_flags.h Revert "chore: temporarily disable proofs for bootstrap" 2026-02-05 13:41:34 +11:00
version.h.in