diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index ceaf1205db..be8940394c 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -20,6 +20,7 @@ add_subdirectory(lib_lottie) add_subdirectory(lib_qr) add_subdirectory(codegen) +include(CheckCXXSourceCompiles) include(lib_ui/cmake/generate_styles.cmake) include(cmake/generate_lang.cmake) include(cmake/generate_numbers.cmake) @@ -105,6 +106,16 @@ if (NOT DESKTOP_APP_USE_PACKAGED) target_link_libraries(Telegram PRIVATE desktop-app::external_opus) endif() +# Telegram uses long atomic types, so on some architectures libatomic is needed. +check_cxx_source_compiles(" +#include +std::atomic_int64_t foo; +int main() {return foo;} +" HAVE_LONG_ATOMIC_WITHOUT_LIB) +if (NOT HAVE_LONG_ATOMIC_WITHOUT_LIB) + target_link_libraries(Telegram PRIVATE atomic) +endif() + target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h) nice_target_sources(Telegram ${src_loc} PRIVATE