diff --git a/CMakeLists.txt b/CMakeLists.txt index a6da9a21..211db32f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -549,7 +549,7 @@ endif() add_library(tdcore STATIC ${TDLIB_SOURCE}) target_include_directories(tdcore PUBLIC $ $) target_include_directories(tdcore SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR}) -target_link_libraries(tdcore PUBLIC tdactor tdutils tdnet tddb PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS}) +target_link_libraries(tdcore PUBLIC tdactor tdutils tdnet tddb PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) if (TD_ENABLE_JNI AND NOT ANDROID) # jni is available by default on Android if (NOT JNI_FOUND) diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt index c4fd8b9a..90f294fb 100644 --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -2,15 +2,13 @@ cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) if (NOT OPENSSL_FOUND) find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) endif() #TODO: all benchmarks in one file add_executable(bench_crypto bench_crypto.cpp) -target_link_libraries(bench_crypto PRIVATE tdcore tdutils ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS}) +target_link_libraries(bench_crypto PRIVATE tdcore tdutils ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) target_include_directories(bench_crypto SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR}) -if (NOT WIN32) - target_link_libraries(bench_crypto PRIVATE z) # for OpenSSL -endif() add_executable(bench_actor bench_actor.cpp) target_link_libraries(bench_actor PRIVATE tdactor tdutils) diff --git a/sqlite/CMakeLists.txt b/sqlite/CMakeLists.txt index 700af45f..d8aa9630 100644 --- a/sqlite/CMakeLists.txt +++ b/sqlite/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) if (NOT OPENSSL_FOUND) find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) endif() set(SQLITE_SOURCE @@ -15,7 +16,7 @@ set(SQLITE_SOURCE add_library(tdsqlite STATIC ${SQLITE_SOURCE}) target_include_directories(tdsqlite PUBLIC $) target_include_directories(tdsqlite SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR}) -target_link_libraries(tdsqlite PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS}) +target_link_libraries(tdsqlite PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) target_compile_definitions(tdsqlite PRIVATE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_OMIT_LOAD_EXTENSION @@ -27,7 +28,6 @@ target_compile_definitions(tdsqlite PRIVATE target_compile_definitions(tdsqlite PRIVATE -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_ENABLE_FTS5 -DSQLITE_DISABLE_LFS) if (NOT WIN32) - target_link_libraries(tdsqlite PRIVATE z) target_compile_definitions(tdsqlite PRIVATE -DHAVE_USLEEP -DNDEBUG=1) endif() diff --git a/tdnet/CMakeLists.txt b/tdnet/CMakeLists.txt index a7e888de..823ed027 100644 --- a/tdnet/CMakeLists.txt +++ b/tdnet/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) if (NOT OPENSSL_FOUND) find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) endif() #SOURCE SETS @@ -43,10 +44,7 @@ set(TDNET_SOURCE add_library(tdnet STATIC ${TDNET_SOURCE}) target_include_directories(tdnet PUBLIC $) target_include_directories(tdnet SYSTEM PUBLIC $) -target_link_libraries(tdnet PUBLIC tdutils tdactor ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS}) -if (UNIX) - target_link_libraries(tdnet PRIVATE z) # for OpenSSL -endif() +target_link_libraries(tdnet PUBLIC tdutils tdactor ${OPENSSL_LIBRARIES} PRIVATE ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) install(TARGETS tdnet EXPORT TdTargets LIBRARY DESTINATION lib diff --git a/tdutils/CMakeLists.txt b/tdutils/CMakeLists.txt index 893eafac..bb3f54a4 100644 --- a/tdutils/CMakeLists.txt +++ b/tdutils/CMakeLists.txt @@ -1,18 +1,19 @@ cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) -if (NOT OPENSSL_FOUND) - find_package(OpenSSL) -endif() -if (OPENSSL_FOUND) - set(TD_HAVE_OPENSSL 1) -endif() - if (NOT ZLIB_FOUND) find_package(ZLIB) endif() if (ZLIB_FOUND) set(TD_HAVE_ZLIB 1) message(STATUS "Found ZLIB: ${ZLIB_INCLUDE_DIR} ${ZLIB_LIBRARIES}") + + # OpenSSL internally depends on zlib + if (NOT OPENSSL_FOUND) + find_package(OpenSSL) + endif() + if (OPENSSL_FOUND) + set(TD_HAVE_OPENSSL 1) + endif() endif() configure_file(td/utils/config.h.in td/utils/config.h @ONLY) @@ -221,10 +222,7 @@ endif() target_include_directories(tdutils PUBLIC $ $) if (OPENSSL_FOUND) - target_link_libraries(tdutils PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS}) - if (NOT WIN32) - target_link_libraries(tdutils PRIVATE z) - endif() + target_link_libraries(tdutils PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES}) target_include_directories(tdutils SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR}) endif()