From 5b1fb942407436bd87042d5de1c0d289fbc397c0 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sat, 2 Jan 2021 01:09:11 +0100 Subject: [PATCH] Codechange: [OSX] Prevent the compiler from using SSE4 instructions unless we want to. This improves compatibility on older systems. We don't need to disable anything older, as there are no SSE2-only Macs. --- cmake/CompileFlags.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmake/CompileFlags.cmake b/cmake/CompileFlags.cmake index f371353ae1..f0b8af0613 100644 --- a/cmake/CompileFlags.cmake +++ b/cmake/CompileFlags.cmake @@ -127,6 +127,18 @@ macro(compile_flags) "$<$:-flifetime-dse=1>" ) endif() + + if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-mno-sse4" NO_SSE4_FOUND) + + if(NO_SSE4_FOUND) + add_compile_options( + # Don't use SSE4 for general sources to increase compatibility. + -mno-sse4 + ) + endif() + endif() elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") add_compile_options( -Wall