vcpkg/ports/libarchive/fix-dependencies.patch
Matioupi 838574a4e6
[baseline][libarchive] : regression fix (#14579)
* Fix regression cf. https://github.com/microsoft/vcpkg/issues/14567 introduced with commit 5dc53211ca

* Changes as suggested in https://github.com/microsoft/vcpkg/pull/14579#discussion_r523812601 and following

* Change as suggested in https://github.com/microsoft/vcpkg/pull/14579#discussion_r523809876

* [cmake] Fix dependency zstd

* [cmake] Revert d14f917bd2

* [libarchive] Fix cmake wrapper, add usage

* Manual merge of fa887c48f1

Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
2020-11-16 09:49:38 -08:00

151 lines
5.1 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 39b5333..8164d8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -433,7 +433,7 @@ MARK_AS_ADVANCED(CLEAR ZLIB_LIBRARY)
# Find BZip2
#
IF(ENABLE_BZip2)
- FIND_PACKAGE(BZip2)
+ FIND_PACKAGE(BZip2 REQUIRED)
ELSE()
SET(BZIP2_FOUND FALSE) # Override cached value
ENDIF()
@@ -462,27 +462,15 @@ MARK_AS_ADVANCED(CLEAR BZIP2_LIBRARIES)
# Find LZMA
#
IF(ENABLE_LZMA)
- FIND_PACKAGE(LibLZMA)
+ FIND_PACKAGE(LibLZMA CONFIG REQUIRED)
ELSE()
SET(LIBLZMA_FOUND FALSE) # Override cached value
ENDIF()
-IF(LIBLZMA_FOUND)
+IF(LibLZMA_FOUND)
SET(HAVE_LIBLZMA 1)
SET(HAVE_LZMA_H 1)
- CMAKE_PUSH_CHECK_STATE()
- INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
- LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES})
- # Test if a macro is needed for the library.
- TRY_MACRO_FOR_LIBRARY(
- "${LIBLZMA_INCLUDE_DIRS}" "${LIBLZMA_LIBRARIES}"
- COMPILES
- "#include <lzma.h>\nint main() {return (int)lzma_version_number(); }"
- "WITHOUT_LZMA_API_STATIC;LZMA_API_STATIC")
- IF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC)
- ADD_DEFINITIONS(-DLZMA_API_STATIC)
- ENDIF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC)
- CMAKE_POP_CHECK_STATE()
+ LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA)
ELSE(LIBLZMA_FOUND)
# LZMA not found and will not be used.
ENDIF(LIBLZMA_FOUND)
@@ -555,22 +543,15 @@ IF(ENABLE_LZ4)
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)
+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.
#
@@ -586,25 +566,20 @@ IF(ENABLE_ZSTD)
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)
+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_compressStream HAVE_LIBZSTD)
- #
- # TODO: test for static library.
- #
- CMAKE_POP_CHECK_STATE()
+ SET(HAVE_LIBZSTD 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)
@@ -773,11 +742,11 @@ ENDIF(ENABLE_NETTLE)
# (Except on Mac, where OpenSSL is deprecated.)
#
IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
- FIND_PACKAGE(OpenSSL)
- IF(OPENSSL_FOUND)
+ FIND_PACKAGE(OpenSSL REQUIRED)
+ 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)
+ message("OPENSSL_CRYPTO_LIBRARY: OpenSSL::Crypto")
ENDIF(OPENSSL_FOUND)
ELSE()
SET(OPENSSL_FOUND FALSE) # Override cached value
@@ -896,7 +865,6 @@ 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)
ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM})
@@ -1128,7 +1096,7 @@ ENDIF(ENABLE_ICONV)
# Find Libxml2
#
IF(ENABLE_LIBXML2)
- FIND_PACKAGE(LibXml2)
+ FIND_PACKAGE(LibXml2 REQUIRED)
ELSE()
SET(LIBXML2_FOUND FALSE)
ENDIF()
@@ -1432,8 +1400,7 @@ CHECK_C_SOURCE_COMPILES(
MAJOR_IN_SYSMACROS)
CMAKE_PUSH_CHECK_STATE()
-SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
-SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
+SET(CMAKE_REQUIRED_LIBRARIES LibLZMA::LibLZMA)
IF(ENABLE_LZMA)
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;}"