Repository navigation
[CMake 7/7] Add CMake builds and migrate the test runner and CI - #3506
Draft
SteveBronder wants to merge 1 commit into
Draft
SteveBronder wants to merge 1 commit into
SteveBronder wants to merge 1 commit into
Conversation
This was referenced Nov 3, 2026
SteveBronder
force-pushed
the
cmake-split/06-cmake
branch
from
November 4, 2026 16:43
ae69375 to
9b429a7
Compare
SteveBronder
changed the base branch from
cmake-split/05-unit-tests
to
fix/cvodes-adjoint-quadrature-output
November 4, 2026 16:44
3 of 5 tasks
SteveBronder
force-pushed
the
cmake-split/06-cmake
branch
2 times, most recently
from
November 5, 2026 14:39
0f38183 to
9e5813e
Compare
WardBrian
force-pushed
the
cmake-split/06-cmake
branch
from
November 6, 2026 10:47
9e5813e to
71fe850
Compare
Add CMake targets for dependencies, individual and grouped tests, header checks, and generated probability/expression tests. Migrate runTests.py, Python test tools, Jenkins and GitHub CI together; document the workflow. Retain Makefiles for upstream consumers. Preserve explicit callback captures with a Clang test-only unused-capture warning exception. Exclude unrelated numerical, solver and tolerance changes.
WardBrian
force-pushed
the
cmake-split/06-cmake
branch
from
November 6, 2026 20:06
71fe850 to
448bf03
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add CMake builds for vendored dependencies, individual and grouped test executables, precompiled headers, standalone header checks, and generated probability/expression tests. Switch
runTests.py, its Python build tools, Jenkins, and GitHub workflows together, and document the configuration/cache workflow. Keep Makefiles for upstream consumers. Clang test targets suppress unused-lambda-capture diagnostics so autodiff callbacks retain explicit captures.Part 7 of the CMake migration split from #3463.
Depends on #3501, #3502, #3503, #3504, #3505. Also depends on #3508. Its base is
fix/cvodes-adjoint-quadrature-output, so this review contains only the 22 infrastructure files. Merge the native stack from bottom to top.Tests
Side Effects
CMake becomes the Math test runner and CI backend. Directory selections run grouped executables; individual source selections remain supported. The default ReleaseTesting configuration keeps assertions enabled. This PR targets the preceding CVODES solver-fix PR in the native stack.
Release notes
Add CMake as the backend for Math tests and CI.
Checklist
CI repair
The Windows x64 and ARM64 reverse-mode failures in run 41720340936 come from stale CVODES quadrature output. The fix and regression are reviewed separately in #3508, now the immediate prerequisite. This PR retains exactly its original 22-file infrastructure diff. The updated native Windows CI is pending.
Related PRs
Native stack: https://github.com/stan-dev/math/stack/3509