mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 14:59:59 +08:00
826ebc235f
* Fix zstd feature in libarchive. * v db
108 lines
3.8 KiB
Diff
108 lines
3.8 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index d49db1b82..cbc2b7102 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -476,6 +476,8 @@ ENDIF()
|
|
IF(LIBLZMA_FOUND)
|
|
SET(HAVE_LIBLZMA 1)
|
|
SET(HAVE_LZMA_H 1)
|
|
+ LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA)
|
|
+elseif(0)
|
|
CMAKE_PUSH_CHECK_STATE()
|
|
INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
|
|
LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES})
|
|
@@ -556,27 +558,15 @@ ENDIF(LIBB2_FOUND)
|
|
# Find LZ4
|
|
#
|
|
IF(ENABLE_LZ4)
|
|
- IF (LZ4_INCLUDE_DIR)
|
|
- # Already in cache, be silent
|
|
- SET(LZ4_FIND_QUIETLY TRUE)
|
|
- ENDIF (LZ4_INCLUDE_DIR)
|
|
-
|
|
- FIND_PATH(LZ4_INCLUDE_DIR lz4.h)
|
|
- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4)
|
|
- INCLUDE(FindPackageHandleStandardArgs)
|
|
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR)
|
|
+ FIND_PACKAGE(lz4 CONFIG REQUIRED)
|
|
ELSE(ENABLE_LZ4)
|
|
SET(LZ4_FOUND FALSE) # Override cached value
|
|
ENDIF(ENABLE_LZ4)
|
|
IF(LZ4_FOUND)
|
|
+ SET(HAVE_LZ4HC_H 1)
|
|
SET(HAVE_LIBLZ4 1)
|
|
SET(HAVE_LZ4_H 1)
|
|
- CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
|
|
- SET(CMAKE_REQUIRED_INCLUDES ${LZ4_INCLUDE_DIR})
|
|
- CHECK_INCLUDE_FILES("lz4hc.h" HAVE_LZ4HC_H)
|
|
- CMAKE_POP_CHECK_STATE() # Restore the state of the variables
|
|
- INCLUDE_DIRECTORIES(${LZ4_INCLUDE_DIR})
|
|
- LIST(APPEND ADDITIONAL_LIBS ${LZ4_LIBRARY})
|
|
+ LIST(APPEND ADDITIONAL_LIBS lz4::lz4)
|
|
#
|
|
# TODO: test for static library.
|
|
#
|
|
@@ -587,31 +577,21 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY)
|
|
# Find Zstd
|
|
#
|
|
IF(ENABLE_ZSTD)
|
|
- IF (ZSTD_INCLUDE_DIR)
|
|
- # Already in cache, be silent
|
|
- SET(ZSTD_FIND_QUIETLY TRUE)
|
|
- ENDIF (ZSTD_INCLUDE_DIR)
|
|
-
|
|
- FIND_PATH(ZSTD_INCLUDE_DIR zstd.h)
|
|
- FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd)
|
|
- INCLUDE(FindPackageHandleStandardArgs)
|
|
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
|
|
+ FIND_PACKAGE(zstd CONFIG REQUIRED)
|
|
ELSE(ENABLE_ZSTD)
|
|
SET(ZSTD_FOUND FALSE) # Override cached value
|
|
ENDIF(ENABLE_ZSTD)
|
|
-IF(ZSTD_FOUND)
|
|
- SET(HAVE_ZSTD_H 1)
|
|
- INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR})
|
|
- LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY})
|
|
- CMAKE_PUSH_CHECK_STATE()
|
|
- SET(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY})
|
|
- SET(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR})
|
|
- CHECK_FUNCTION_EXISTS(ZSTD_decompressStream HAVE_LIBZSTD)
|
|
- CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_LIBZSTD_COMPRESSOR)
|
|
- #
|
|
- # TODO: test for static library.
|
|
- #
|
|
- CMAKE_POP_CHECK_STATE()
|
|
+IF(zstd_FOUND)
|
|
+ SET(HAVE_ZSTD_H 1)
|
|
+ SET(HAVE_LIBZSTD 1)
|
|
+ SET(HAVE_LIBZSTD_COMPRESSOR 1)
|
|
+ IF(TARGET zstd::libzstd_shared)
|
|
+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_shared)
|
|
+ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_shared)
|
|
+ ELSE(TARGET zstd::libzstd_shared)
|
|
+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static)
|
|
+ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_static)
|
|
+ ENDIF(TARGET zstd::libzstd_shared)
|
|
ENDIF(ZSTD_FOUND)
|
|
MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)
|
|
MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY)
|
|
@@ -783,8 +761,7 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
FIND_PACKAGE(OpenSSL)
|
|
IF(OPENSSL_FOUND)
|
|
SET(HAVE_LIBCRYPTO 1)
|
|
- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
|
|
- LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY})
|
|
+ LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto)
|
|
ENDIF(OPENSSL_FOUND)
|
|
ELSE()
|
|
SET(OPENSSL_FOUND FALSE) # Override cached value
|
|
@@ -903,7 +880,7 @@ main(int argc, char **argv)
|
|
IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
|
|
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
|
|
LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES})
|
|
- LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
|
|
+ #LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
|
|
ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
|
|
ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
|
|
ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM})
|