From 54a073b42e60f710d4f81218f03ff011b32a5002 Mon Sep 17 00:00:00 2001 From: assiduous Date: Tue, 14 Jul 2020 18:52:39 -0700 Subject: Added optional MiniZip library --- ThirdParty/zlib-1.2.8/CMakeLists.txt | 49 ++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/ThirdParty/zlib-1.2.8/CMakeLists.txt b/ThirdParty/zlib-1.2.8/CMakeLists.txt index ce4b208..968865e 100644 --- a/ThirdParty/zlib-1.2.8/CMakeLists.txt +++ b/ThirdParty/zlib-1.2.8/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required (VERSION 3.6) project(ZLib C) -set(SOURCE +set(ZLIB_SOURCE adler32.c compress.c crc32.c @@ -20,7 +20,7 @@ set(SOURCE zutil.c ) -set(INCLUDE +set(ZLIB_INCLUDE crc32.h deflate.h gzguts.h @@ -34,7 +34,7 @@ set(INCLUDE zutil.h ) -add_library(ZLib STATIC ${SOURCE} ${INCLUDE}) +add_library(ZLib STATIC ${ZLIB_SOURCE} ${ZLIB_INCLUDE}) set_common_target_properties(ZLib) target_link_libraries(ZLib PRIVATE Diligent-BuildSettings) @@ -58,9 +58,48 @@ endif() target_include_directories(ZLib PUBLIC .) -source_group("src" FILES ${SOURCE}) -source_group("include" FILES ${INCLUDE}) +source_group("src" FILES ${ZLIB_SOURCE}) +source_group("include" FILES ${ZLIB_INCLUDE}) set_target_properties(ZLib PROPERTIES FOLDER DiligentTools/ThirdParty ) + + +option(ZLIB_BUILD_MINIZIP "Build minizip library" OFF) +if(${ZLIB_BUILD_MINIZIP}) + set(MINIZIP_SOURCE + contrib/minizip/ioapi.c + contrib/minizip/iowin32.c + contrib/minizip/mztools.c + contrib/minizip/unzip.c + contrib/minizip/zip.c + ) + set(MINIZIP_INCLUDE + contrib/minizip/crypt.h + contrib/minizip/ioapi.h + contrib/minizip/iowin32.h + contrib/minizip/mztools.h + contrib/minizip/unzip.h + contrib/minizip/zip.h + ) + + add_library(MiniZip STATIC ${MINIZIP_SOURCE} ${MINIZIP_INCLUDE}) + set_common_target_properties(MiniZip) + + target_link_libraries(MiniZip PRIVATE Diligent-BuildSettings PUBLIC ZLib) + + if(MSVC) + target_compile_definitions(MiniZip PRIVATE -D_CRT_SECURE_NO_DEPRECATE) + target_compile_options(MiniZip PRIVATE /W3 /wd4131 /wd4189 /wd4456 /wd4244 /wd4701 /wd4703) + endif() + + target_include_directories(MiniZip PUBLIC contrib/minizip/) + + source_group("src" FILES ${MINIZIP_SOURCE}) + source_group("include" FILES ${MINIZIP_INCLUDE}) + + set_target_properties(MiniZip PROPERTIES + FOLDER DiligentTools/ThirdParty + ) +endif() -- cgit v1.2.3