std.Build.Step.ConfigHeader: handle empty keys more permissively #24051
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.
${} is valid in cmake config headers and needs to be substituted instead of throwing an error
there are practically no real world projects that depend on this but it still needs to be supported.
There are still projects (e.g. darktable) with cmake config headers that include ${} in a comment that is not intended to be subsituted with anything else, I think that requiring the user to explicitly provide an empty key introduces unnecessary friction for a problem that isn't real, so this PR uses .undef as a fallback instead of erroring.
TL;DR