diff --git a/CMakeLists.txt b/CMakeLists.txt index 361f56cfb..110560def 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,6 +79,10 @@ find_package(FFmpeg REQUIRED) find_package(Opus REQUIRED) find_package(Qt5 COMPONENTS Core Gui Widgets Network REQUIRED) +if(PACKAGED_BUILD) + find_package(MiniZIP REQUIRED) +endif() + if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.12.0") find_package(Python3 REQUIRED) else() diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 36351cc47..175357b05 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -551,11 +551,15 @@ if (APPLE) target_include_directories(Kepka PRIVATE ThirdParty/SPMediaKeyTap) endif() -target_sources(Kepka PRIVATE - ThirdParty/minizip/ioapi.c - ThirdParty/minizip/zip.c - ThirdParty/minizip/unzip.c +if(NOT PACKAGED_BUILD) + target_sources(Kepka PRIVATE + ThirdParty/minizip/ioapi.c + ThirdParty/minizip/zip.c + ThirdParty/minizip/unzip.c + ) +endif() +target_sources(Kepka PRIVATE ThirdParty/emoji_suggestions/emoji_suggestions.cpp ) @@ -645,6 +649,10 @@ endif() target_include_directories(Kepka PRIVATE ${OPENAL_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${OPUS_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS} ${ALSA_INCLUDE_DIRS} ${PULSEAUDIO_INCLUDE_DIR} ) +if(PACKAGED_BUILD) + target_include_directories(Kepka PRIVATE ${MINIZIP_INCLUDE_DIR}) +endif() + target_link_libraries(Kepka Qt5::Core Qt5::Widgets @@ -662,6 +670,12 @@ target_link_libraries(Kepka ${CONAN_LIBS} ) # crashpad::crashpad_client) +if(PACKAGED_BUILD) + target_link_libraries(Kepka + ${MINIZIP_LIBRARIES} + ) +endif() + if (APPLE) add_dependencies(Kepka iconset_output) diff --git a/modules/FindMiniZIP.cmake b/modules/FindMiniZIP.cmake new file mode 100644 index 000000000..9c7a29de9 --- /dev/null +++ b/modules/FindMiniZIP.cmake @@ -0,0 +1,16 @@ +# - Try to find MiniZIP +# Once done this will define +# +# MINIZIP_FOUND - system has minizip +# MINIZIP_INCLUDE_DIR - the minizip include directory +# MINIZIP_LIBRARIES - Link these to use minizip + +find_package(PkgConfig) +pkg_check_modules(PC_MINIZIP QUIET minizip) + +include(FindPackageHandleStandardArgs) + +find_library(MINIZIP_LIBRARIES minizip) +find_path(MINIZIP_INCLUDE_DIR zip.h ${PC_MINIZIP_INCLUDE_DIRS}) + +find_package_handle_standard_args(MiniZIP DEFAULT_MSG MINIZIP_INCLUDE_DIR MINIZIP_LIBRARIES)