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.
This changes the logic in the CMake infrastructure somewhat.
STREQUAL is an exact match.
MATCHES just matches a string in the full string.
E.g.
... MATCHES ABC
will find for "fooABCbar" and all variants where ABC is present. This may sometimes not be decired.
However, in the case for compilers and systems, using matches may be the best choice to allow smaller variations of variables (coming down the road).
In this change SYSTEM_PROCESSOR will now use MATCHES instead of STREQUAL.
The original code could be dated back to 2015 in
1c36bf1.
The same goes for the compiler specifications.
Now MATCHES allows a greater variability in the
compiler naming conventions. This change results
in some logic changes (should be changed if not
desired).
For instance this change:
results in ALTIVEC=TRUE for AppleClang compilers at versions >=13. It did not previously.
While MATCHES Intel will also match IntelLLVM I have added explicit IntelLLVM to make it clear the
intent, this is strictly not needed due to the
above.