diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a450bc5..75da0a53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -334,6 +334,7 @@ if(CRYPTO_BACKEND STREQUAL "OpenSSL" OR NOT CRYPTO_BACKEND) if(ZLIB_FOUND) list(APPEND LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LIBSSH2_PC_LIBS_PRIVATE -lz) endif() endif() endif() @@ -360,6 +361,7 @@ if(CRYPTO_BACKEND STREQUAL "wolfSSL" OR NOT CRYPTO_BACKEND) if(ZLIB_FOUND) list(APPEND CRYPTO_BACKEND_INCLUDE_DIR ${ZLIB_INCLUDE_DIR}) # Public wolfSSL headers require zlib headers list(APPEND LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LIBSSH2_PC_LIBS_PRIVATE -lz) endif() endif() endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 16431faf..17674ccb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -58,6 +58,7 @@ if(ENABLE_ZLIB_COMPRESSION) list(APPEND libssh2_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS}) list(APPEND LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LIBSSH2_PC_LIBS_PRIVATE -lz) list(APPEND LIBSSH2_PC_REQUIRES_PRIVATE zlib) if(ZLIB_FOUND) list(APPEND libssh2_DEFINITIONS LIBSSH2_HAVE_ZLIB) @@ -184,6 +185,7 @@ if(LIBSSH2_PC_REQUIRES_PRIVATE) string(REPLACE ";" "," LIBSSH2_PC_REQUIRES_PRIVATE "${LIBSSH2_PC_REQUIRES_PRIVATE}") endif() if(LIBSSH2_PC_LIBS_PRIVATE) + list(REMOVE_DUPLICATES LIBSSH2_PC_LIBS_PRIVATE) string(REPLACE ";" " " LIBSSH2_PC_LIBS_PRIVATE "${LIBSSH2_PC_LIBS_PRIVATE}") endif() # merge the pkg-config private fields into public ones when static-only