diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/android/CMakeLists.txt')
-rw-r--r-- | protocols/Telegram/tdlib/td/example/android/CMakeLists.txt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/protocols/Telegram/tdlib/td/example/android/CMakeLists.txt b/protocols/Telegram/tdlib/td/example/android/CMakeLists.txt new file mode 100644 index 0000000000..a31b1fc951 --- /dev/null +++ b/protocols/Telegram/tdlib/td/example/android/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR) + +project(TdAndroid VERSION 1.0 LANGUAGES CXX) + +option(TD_ENABLE_JNI "Enable JNI-compatible TDLib API" ON) + +set(TD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..) + +if (CMAKE_CROSSCOMPILING) + set(CMAKE_MODULE_PATH "${TD_DIR}/CMake") + + include(TdSetUpCompiler) + td_set_up_compiler() + string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " -flto=thin -Oz") + + list(APPEND CMAKE_FIND_ROOT_PATH "${OPENSSL_ROOT_DIR}") + add_subdirectory(${TD_DIR} td) + + add_library(tdjni SHARED "${TD_DIR}/example/java/td_jni.cpp") + + target_link_libraries(tdjni PRIVATE Td::TdStatic) + target_compile_definitions(tdjni PRIVATE PACKAGE_NAME="org/drinkless/tdlib") + + add_custom_command(TARGET tdjni POST_BUILD + COMMAND ${CMAKE_COMMAND} -E rename $<TARGET_FILE:tdjni> $<TARGET_FILE:tdjni>.debug + COMMAND ${CMAKE_STRIP} --strip-debug --strip-unneeded $<TARGET_FILE:tdjni>.debug -o $<TARGET_FILE:tdjni>) +else() + add_subdirectory(${TD_DIR} td) + + set(TD_API_JAVA_PACKAGE "org/drinkless/tdlib") + set(TD_API_JAVA_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${TD_API_JAVA_PACKAGE}/TdApi.java") + set(TD_API_TLO_PATH "${TD_DIR}/td/generate/auto/tlo/td_api.tlo") + set(TD_API_TL_PATH "${TD_DIR}/td/generate/scheme/td_api.tl") + set(JAVADOC_TL_DOCUMENTATION_GENERATOR_PATH "${TD_DIR}/td/generate/JavadocTlDocumentationGenerator.php") + set(GENERATE_JAVA_CMD td_generate_java_api TdApi ${TD_API_TLO_PATH} ${CMAKE_CURRENT_SOURCE_DIR} ${TD_API_JAVA_PACKAGE}) + if (PHP_EXECUTABLE) + set(GENERATE_JAVA_CMD ${GENERATE_JAVA_CMD} && + ${PHP_EXECUTABLE} ${JAVADOC_TL_DOCUMENTATION_GENERATOR_PATH} ${TD_API_TL_PATH} ${TD_API_JAVA_PATH} androidx.annotation.Nullable @Nullable && + ${PHP_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/AddIntDef.php ${TD_API_JAVA_PATH}) + endif() + + file(MAKE_DIRECTORY ${TD_API_JAVA_PACKAGE}) + add_custom_target(tl_generate_java + COMMAND ${GENERATE_JAVA_CMD} + COMMENT "Generate Java TL source files" + DEPENDS td_generate_java_api tl_generate_tlo ${TD_API_TLO_PATH} ${TD_API_TL_PATH} + ) +endif() |