From d4719197b273bd135d017915f2196dad1edf7842 Mon Sep 17 00:00:00 2001 From: William Kent Date: Sat, 19 Oct 2024 15:15:31 -0400 Subject: [PATCH] [MKISOFS] Fix Clang check for macOS platforms (#7037) * [MKISOFS] Fix Clang check for macOS platforms On macOS, CMAKE_C_COMPILER_ID is "AppleClang". While certainly Clang, this does not match the exact string "Clang" that is being checked for, and as a result the warning flags guarded thereby are not passed to the compiler. With this change CMake will recognize both Clang and AppleClang. * Update sdk/tools/mkisofs/CMakeLists.txt --- sdk/tools/mkisofs/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/tools/mkisofs/CMakeLists.txt b/sdk/tools/mkisofs/CMakeLists.txt index 1b4c2116035..840e837f611 100644 --- a/sdk/tools/mkisofs/CMakeLists.txt +++ b/sdk/tools/mkisofs/CMakeLists.txt @@ -107,7 +107,8 @@ else() # Silence compilers checking for invalid formatting sequences. target_compile_options(libschily PRIVATE "-Wno-format") - if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "15") + # MATCHES must be used here because on macOS, CMake uses the compiler ID "AppleClang". + if(CMAKE_C_COMPILER_ID MATCHES "Clang$" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "15") # mkisofs uses K&R-style function definitions to support very old compilers. # This causes warnings with modern compilers. target_compile_options(libmdigest PRIVATE "-Wno-deprecated-non-prototype")