[angle] Fixed build with /permissive- MSVC toolchain and clang on Linux #5785
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.
The first change is to fix builds with MSVC toolchains that set
/permissive-
since ANGLE requires the old behavior.The biggest offender is the macro
NOTREACHED
(src\common\third_party\base\anglebaselogging.h
line 23).I see no harm in forcing
/permissive
as it should not have any effect on builds with the default toolchain.The second change is switching from hard-coded compile options to CMake properties, otherwise the port cannot be built with clang since the
clang(1)
executable does not support the-std=c++...
command line options.The CMAKE_CXX_STANDARD 17 property is supported since CMake version 3.8.2.
The CMAKE_POSITION_INDEPENDENT_CODE property improves
try_compile
support.