Improve compiler and dependency caching in CI

1. In windows.yml (build-msvc), cache and configure ccache via
   CMAKE_VS_GLOBALS (CLToolExe=cl.exe, CLToolPath, TrackFileAccess=false,
   UseMultiToolTask=true) so Visual Studio 2026 builds cache translation
   units across runs just like build-mingw.

2. In linux.yml, cache the extracted libcudss archive with
   actions/cache@v4, matching the mold cache and windows.yml.

3. In macos.yml, set HOMEBREW_NO_AUTO_UPDATE=1 and
   HOMEBREW_NO_INSTALL_CLEANUP=1 to avoid redundant Homebrew index
   updates and post-install cleanups on every job.

4. In android.yml, remove ${{matrix.abi}} from the header-only Eigen
   3.4.0 cache key so all four Android ABIs share a single cached
   install.

Change-Id: I3d6f5c03a9e216f4b051e9437a2ca3e66d48b233
4 files changed
tree: 5b6efa221ba54159c753acd5fef90dffa89dfba9
  1. .github/
  2. bazel/
  3. cmake/
  4. config/
  5. data/
  6. docs/
  7. examples/
  8. include/
  9. internal/
  10. LICENSES/
  11. scripts/
  12. third_party/
  13. .bazelignore
  14. .clang-format
  15. .gitignore
  16. .gitmodules
  17. .readthedocs.yaml
  18. BUILD
  19. CITATION.cff
  20. CMakeLists.txt
  21. CONTRIBUTING.md
  22. LICENSE
  23. MODULE.bazel
  24. package.xml
  25. README.md
  26. REUSE.toml
  27. WORKSPACE
README.md

Android Linux macOS Windows

Ceres Solver

Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.

  1. Non-linear Least Squares problems with bounds constraints.
  2. General unconstrained optimization problems.

Please see ceres-solver.org for more information.