Repository navigation
CMake: centralize target language standard requirements - #3512
agourakis82 wants to merge 4 commits into
Conversation
|
The Read the Docs status links to build 35073848 at this PR's exact head, Could a maintainer restart the documentation build and approve the held GitHub Actions runs? The cancelled build does not provide a documentation validation result for this patch. |
|
Follow-up in bb50cd5 addresses the failure from the previous run. The I configured this exact commit with CMake and MPI on a private Linux cluster and ran the focused CMake test: 2/2 tests passed, including |
|
The new CI failure is in the
The workflow needs to check out the pull request head repository explicitly (or use the pull request head SHA), e.g. |
|
I pushed |
Fixes #3502.
Centralize the C++20 minimum in a target-local helper shared by CXX, CUDA and
HIP. Preserve newer standards selected by callers and require the selected
standard instead of allowing silent fallback. Remove the global HIP standard
defaults and duplicate per-target settings.
Add CMake regression tests for the minimum, preservation of C++23, older
standards (including C++98), and unchanged directory defaults/unrelated targets.
Keep the library's public C++20 compile-feature requirement.
Validation:
C++23 mode; all three CTest entries passed. NetCDF and PVODE enabled;
optional FFTW, LAPACK and SUNDIALS disabled in this profile.
(C++23).
requested C++17 raised to C++20, and requested C++23 preserved.
CUDA/HIP validation is compile-only for the helper, not a full BOUT++ GPU
library build or GPU execution. No solver or physics changes.