Zip: Allow usage of system zlib (default if found)

Set QTC_USE_SYSTEM_ZLIB to override the default
(which is already done for our prebuilt binaries in build.py)

Fixes: QTCREATORBUG-32584
Change-Id: Ib893ee9daa24a831308dfffd6e33d6e79aac2356
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
Thiago Macieira
2025-03-05 11:23:52 -08:00
parent 2b53d28690
commit 4787d0d166

View File

@@ -6,42 +6,57 @@ add_qtc_library(Zip
zipreader.h zipreader.h
zipwriter.h zipwriter.h
zip_global.h zip_global.h
)
find_package(ZLIB QUIET)
if(ZLIB_FOUND)
set(QTC_USE_SYSTEM_ZLIB_DEFAULT ON)
else()
set(QTC_USE_SYSTEM_ZLIB_DEFAULT OFF)
endif()
option(QTC_USE_SYSTEM_ZLIB "Use system zlib for Zip" ${QTC_USE_SYSTEM_ZLIB_DEFAULT})
if (QTC_USE_SYSTEM_ZLIB)
extend_qtc_library(Zip
FEATURE_INFO "System zlib"
DEPENDS ZLIB::ZLIB
)
else()
extend_qtc_library(Zip
FEATURE_INFO "Integrated zlib"
SOURCES_PREFIX ${CMAKE_CURRENT_LIST_DIR}/../../3rdparty/zlib/src
INCLUDES INCLUDES
${CMAKE_CURRENT_LIST_DIR}/../../3rdparty/zlib/src ${CMAKE_CURRENT_LIST_DIR}/../../3rdparty/zlib/src
) SKIP_AUTOMOC
SOURCES
extend_qtc_library(Zip adler32.c
SOURCES_PREFIX ${CMAKE_CURRENT_LIST_DIR}/../../3rdparty/zlib/src compress.c
SKIP_AUTOMOC crc32.c
SOURCES crc32.h
adler32.c deflate.c
compress.c deflate.h
crc32.c gzclose.c
crc32.h gzguts.h
deflate.c gzlib.c
deflate.h gzread.c
gzclose.c gzwrite.c
gzguts.h infback.c
gzlib.c inffast.c
gzread.c inffast.h
gzwrite.c inffixed.h
infback.c inflate.c
inffast.c inflate.h
inffast.h inftrees.c
inffixed.h inftrees.h
inflate.c trees.c
inflate.h trees.h
inftrees.c uncompr.c
inftrees.h zconf.h
trees.c zlib.h
trees.h zutil.c
uncompr.c zutil.h
zconf.h )
zlib.h if(MSVC)
zutil.c target_compile_options(Zip PUBLIC /wd4996)
zutil.h endif()
)
if(MSVC)
target_compile_options(Zip PUBLIC /wd4996)
endif() endif()