Skip to content

♻️ Modernized the CMake build setup#898

Merged
marcelwa merged 83 commits intomainfrom
modernize-cmake-config
Feb 2, 2026
Merged

♻️ Modernized the CMake build setup#898
marcelwa merged 83 commits intomainfrom
modernize-cmake-config

Conversation

@marcelwa
Copy link
Collaborator

@marcelwa marcelwa commented Dec 16, 2025

This PR significantly overhauls the CMake build system, including but not limited to:

  • refactoring of the entire CMake build system to use FetchContent for dependency management instead of git submodules
  • moving of vendored libraries from libs/ to vendors/
  • improving build configuration and option handling for better modularity
  • addressing several CMake and compiler warnings (including CMP0148 and Pybind11 compatibility) as well as CMake code smells
  • streamlining package installation and discovery process
  • adding CMakePresets.json to offer default CMake configurations
  • adding support for CMake version 4+

Also, the following new pre-commit checks have been added:

  • check-vcs-permalinks
  • check-symlinks
  • check-json
  • cmake-format-precommit
  • uv-pre-commit

Finally, library versions and tool configurations have been updated, several clang-tidy warnings have been addressed throughout the code base, and typos and formatting issues have been fixed.

@marcelwa marcelwa self-assigned this Dec 16, 2025
@marcelwa marcelwa added build system Changes affecting the build system refactoring Refactored old code labels Dec 16, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 16, 2025

Important

Review skipped

Too many files!

This PR contains 208 files, which is 58 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch modernize-cmake-config

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

marcelwa and others added 10 commits January 11, 2026 19:24
…c_limits<double>::max()` due to the compiler flag `-ffinite-math-only`
Signed-off-by: GitHub Actions <actions@github.com>
…imits<double>::infinity()` for semantic reasons and remove the `-ffinite-math-only` compiler optimization
Signed-off-by: GitHub Actions <actions@github.com>
@codecov
Copy link

codecov bot commented Jan 12, 2026

Codecov Report

❌ Patch coverage is 99.70238% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.16%. Comparing base (35ea3d0) to head (6c5ce6d).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
...clude/fiction/networks/views/static_depth_view.hpp 96.29% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #898      +/-   ##
==========================================
+ Coverage   98.12%   98.16%   +0.04%     
==========================================
  Files         261      261              
  Lines       40068    40105      +37     
  Branches     2102     2108       +6     
==========================================
+ Hits        39317    39371      +54     
+ Misses        751      734      -17     
Files with missing lines Coverage Δ
include/fiction/algorithms/graph/mincross.hpp 93.36% <100.00%> (-0.45%) ⬇️
...hms/network_transformation/fanout_substitution.hpp 99.13% <100.00%> (-0.01%) ⬇️
include/fiction/algorithms/path_finding/a_star.hpp 100.00% <100.00%> (ø)
...n/algorithms/physical_design/design_sidb_gates.hpp 98.29% <100.00%> (ø)
...on/algorithms/simulation/sidb/defect_clearance.hpp 100.00% <100.00%> (ø)
...tion/algorithms/simulation/sidb/is_operational.hpp 92.40% <100.00%> (ø)
...tion/algorithms/simulation/sidb/minimum_energy.hpp 100.00% <ø> (ø)
.../algorithms/simulation/sidb/operational_domain.hpp 94.62% <100.00%> (ø)
...s/simulation/sidb/random_sidb_layout_generator.hpp 93.33% <100.00%> (ø)
...on/algorithms/simulation/sidb/time_to_solution.hpp 96.15% <100.00%> (ø)
... and 40 more

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3d0f07f...6c5ce6d. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marcelwa marcelwa merged commit ecc9bb4 into main Feb 2, 2026
43 checks passed
@marcelwa marcelwa deleted the modernize-cmake-config branch February 2, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build system Changes affecting the build system refactoring Refactored old code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants