From 5b8c0ba6bace1a9bb2a3d356f58e33114327c7ef Mon Sep 17 00:00:00 2001 From: "Nathaniel J. McClatchey, PhD" Date: Sat, 27 Mar 2021 16:06:13 -0700 Subject: [PATCH] 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. --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2e6a1fa2d..0938f3aa7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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()