stduuid: fix conditional dependency on ms-gsl #20499
Merged
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.
Specify library name and version: stduuid/all
See #20360
In this PR:
Stop propagating the
ms-gsl
include directory - this caused all consumers to use the wrong header file when doing#include <span>
(note from @jcar87: recipes should not propagate paths to other libraries in package info).Fix conditional for
check_min_cppstd
invalidate()
method - it was not checking anything due to a typoRemove option
with_cxx20_span
for version1.0
: it's not an option, it is unconditionally assumed regardless of version of C++ standard.When
cppstd
is defined as is greater or equal than 20, conditionally set the default value of optionwith_cxx20_span
toTrue
and assume is availablePatch
uuid.h
in such a way that if the recipe logic determines thatms-gsl
is a dependency, the gsl header is included and its types are used - rather than leave this to chance by doing compiler macro introspection (see issue Regression: lib doesn't build with GCC 10 with c++20 anymore mariusbancila/stduuid#80) -Close #20360
Testing:
Tested the following on Linux with gcc 12 (and
compiler.cppstd=gnu17
by default unless mentioned):