Detect compiler frontend

CMAKE_C_SIMULATE_ID may be misleading when CMake uses the MSVC library,
but not clang-cl.

Using CMAKE_C_COMPILER_FRONTEND_VARIANT (CMake 3.15+) allows correct
determination of the frontend.
This commit is contained in:
Nathaniel J. McClatchey, PhD 2021-03-27 16:06:13 -07:00
parent 33cd8b865d
commit 5b8c0ba6ba

View File

@ -134,7 +134,7 @@ if (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
CMAKE_C_COMPILER_ID STREQUAL "Clang" OR
CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
if (CMAKE_C_SIMULATE_ID STREQUAL "MSVC")
if ((${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.15.0" AND CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") OR (${CMAKE_VERSION} VERSION_LESS "3.15.0" AND CMAKE_C_SIMULATE_ID STREQUAL "MSVC"))
# Tell Clang-CL that this is a Clang flag
target_compile_options(glfw PRIVATE "/clang:-Wall")
else()