From 6f1cd83927abfc69d0249542b2725f521dbf1189 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Fri, 9 Oct 2020 20:58:53 +0200 Subject: [PATCH] Static compilation --- src/tdlib-cpp/CMakeLists.txt | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/tdlib-cpp/CMakeLists.txt b/src/tdlib-cpp/CMakeLists.txt index 476ef4b..dab3c7a 100644 --- a/src/tdlib-cpp/CMakeLists.txt +++ b/src/tdlib-cpp/CMakeLists.txt @@ -9,10 +9,32 @@ if (POLICY CMP0054) cmake_policy(SET CMP0054 NEW) endif() -cmake_policy(SET CMP0074 NEW) - find_package(Td REQUIRED) +if (NOT OPENSSL_FOUND) + find_package(OpenSSL) +endif() +if (OPENSSL_FOUND) + message(STATUS "Found OpenSSL: ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}") +endif() + +if (NOT OPENSSL_FOUND) + message(WARNING "Can't find OpenSSL: stop TDLib building") + return() +endif() + +SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") +if (NOT ZLIB_FOUND) + find_package(ZLIB) +endif() +if (ZLIB_FOUND) + message(STATUS "Found zlib: ${ZLIB_LIBRARIES}") +endif() +if (NOT ZLIB_FOUND) + message(WARNING "Can't find zlib: stop TDLib building") + return() +endif() + if (NOT JNI_FOUND) find_package(JNI REQUIRED) endif() @@ -66,7 +88,8 @@ add_library(tdjni SHARED td_jni.cpp ) target_include_directories(tdjni PRIVATE ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) -target_link_libraries(tdjni PRIVATE Td::TdStatic ${JAVA_JVM_LIBRARY}) +target_include_directories(tdjni SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR}) +target_link_libraries(tdjni PRIVATE Td::TdStatic ${JAVA_JVM_LIBRARY} -static ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES} gcc stdc++ pthread) target_compile_definitions(tdjni PRIVATE PACKAGE_NAME="${TD_API_JAVA_PACKAGE}") set_property(TARGET tdjni PROPERTY CXX_STANDARD 14)