Repository navigation
CMake: centralize target language standard requirements - #3512
Open
agourakis82 wants to merge 1 commit into
Open
agourakis82 wants to merge 1 commit into
agourakis82 wants to merge 1 commit into
Conversation
Author
|
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. |
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.
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.