Browse Source

libarchive: Fix lzma_stream_encoder_mt detection

The test for lzma_stream_encoder_mt was always failing
because the lzma libraries weren't being used by linker.
Rodolfo Lima 4 years ago
parent
commit
bcdb5b52a0
1 changed files with 7 additions and 1 deletions
  1. 7 1
      Utilities/cmlibarchive/CMakeLists.txt

+ 7 - 1
Utilities/cmlibarchive/CMakeLists.txt

@@ -1475,9 +1475,15 @@ CHECK_C_SOURCE_COMPILES(
   "#include <sys/sysmacros.h>\nint main() { return major(256); }"
   MAJOR_IN_SYSMACROS)
 
+CMAKE_PUSH_CHECK_STATE()
+SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
+SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
+
 CHECK_C_SOURCE_COMPILES(
   "#include <lzma.h>\n#if LZMA_VERSION < 50020000\n#error unsupported\n#endif\nint main(void){lzma_stream_encoder_mt(0, 0); return 0;}"
-  HAVE_LZMA_STREAM_ENCODER_MT)
+HAVE_LZMA_STREAM_ENCODER_MT)
+
+CMAKE_POP_CHECK_STATE()
 
 IF(HAVE_STRERROR_R)
   SET(HAVE_DECL_STRERROR_R 1)