Skip to content

Update cmake & clang tidy & rewriting binary read-in#708

Merged
landinjm merged 17 commits intoprisms-center:masterfrom
landinjm:update_clang_tidy
Oct 9, 2025
Merged

Update cmake & clang tidy & rewriting binary read-in#708
landinjm merged 17 commits intoprisms-center:masterfrom
landinjm:update_clang_tidy

Conversation

@landinjm
Copy link
Copy Markdown
Contributor

@landinjm landinjm commented Oct 3, 2025

This is going to be a big pull request, but it's morphed into something I can't split up easily right now. Nonetheless, I'll try and explain everything I've done well.

Binary read-in

I finally got around to looking at the code in #691 after fixing some CMake stuff that lets up run unit tests from the main directory. I found out that the feature didn't support vector fields. I decided to rewrite it. Here's a shortlist of what I did

  • Improved documentation, so it's a bit more clear
  • Vector fields are fully supported for all dimensions
  • Added some more assertions for the mesh types that support binary read-in and the fact that only one field is supported
    Check out In read_binary.h allow for widening and narrowing of types #707 for a feature we should probably add.

Clang-tidy

This is still a WIP, but I've been working on getting that workflow to pass.

Closes #698

CMake

This is the bulk of the work I did.

  • We no longer rely on the macros that deal.II provides.
  • The core library is actually a library now (we don't have an install target).
  • The core library has a make run_tests target that runs the unit tests
  • Applications have make debug, make release, and make debugrelease targets to compile the debug executable, release executable, and both. Note that the release executable has been renamed from main -> main-release
  • I've rewritten the regression test script so it prints things nice and no longer has a running tally of the timings. The GitHub CI is more than enough to observe trends in performance over time.
  • The regressions tests can also be run with make install when configured
  • All applications can be compiled with make install when configured
  • I removed some applications that were being developed in the regression tests. These should be in their own repo now that we're a library.

Closes #533, #390, #688, #527, #706, #681, #668, #390, #314

@landinjm landinjm marked this pull request as ready for review October 9, 2025 18:13
@landinjm landinjm merged commit ed77248 into prisms-center:master Oct 9, 2025
7 of 11 checks passed
@landinjm landinjm deleted the update_clang_tidy branch October 9, 2025 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Delete the header check in clang-tidy Rely less on inherited flags from deal.II

1 participant