Add minizip dynamic linking which is in linux distributions repositories

This commit is contained in:
Илья Федин 2019-12-03 00:10:40 +04:00
parent b97fccb0af
commit 57ed023335
3 changed files with 38 additions and 4 deletions

View File

@ -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()

View File

@ -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)

16
modules/FindMiniZIP.cmake Normal file
View File

@ -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)