Browse Source

liblzma: Disable inline assembly when compiled with conflicting flag

Brad King 9 tháng trước cách đây
mục cha
commit
8f9b5ff8d6
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  1. 5 0
      Utilities/cmliblzma/CMakeLists.txt

+ 5 - 0
Utilities/cmliblzma/CMakeLists.txt

@@ -176,6 +176,11 @@ endif()
 
 ADD_LIBRARY(cmliblzma STATIC ${LZMA_SRCS})
 
+# Disable inline assembly in a case where it does not compile.
+if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_C_FLAGS MATCHES "-ftrapv")
+  set_property(SOURCE liblzma/lzma/lzma_decoder.c PROPERTY COMPILE_DEFINITIONS LZMA_RANGE_DECODER_CONFIG=0)
+endif()
+
 IF(CMAKE_C_COMPILER_ID STREQUAL "XL")
   # Disable the XL compiler optimizer because it causes crashes
   # and other bad behavior in liblzma code.