project(minizip C) add_library(minizip STATIC mz.h mz_compat.c mz_compat.h mz_crypt.c mz_crypt.h mz_os.c mz_os.h mz_strm.c mz_strm.h mz_strm_buf.c mz_strm_buf.h mz_strm_mem.c mz_strm_mem.h mz_strm_os.h mz_strm_split.c mz_strm_split.h mz_strm_zlib.c mz_strm_zlib.h mz_zip.c mz_zip.h mz_zip_rw.c mz_zip_rw.h unzip.h zip.h ) dolphin_disable_warnings_msvc(minizip) if (UNIX) target_sources(minizip PRIVATE mz_os_posix.c mz_strm_os_posix.c ) endif() if (WIN32) target_sources(minizip PRIVATE mz_os_win32.c mz_strm_os_win32.c ) endif() target_include_directories(minizip PUBLIC .) target_compile_definitions(minizip PRIVATE HAVE_ZLIB ZLIB_COMPAT MZ_ZIP_NO_CRYPTO MZ_ZIP_NO_ENCRYPTION) if (UNIX) target_compile_definitions(minizip PRIVATE _POSIX_C_SOURCE=200112L) target_compile_definitions(minizip PRIVATE __USE_LARGEFILE64 _LARGEFILE64_SOURCE) endif() check_include_file(stdint.h HAVE_STDINT_H) if (HAVE_STDINT_H) target_compile_definitions(minizip PRIVATE HAVE_STDINT_H) endif() check_include_file(inttypes.h HAVE_INTTYPES_H) if (HAVE_INTTYPES_H) target_compile_definitions(minizip PRIVATE HAVE_INTTYPES_H) endif() check_function_exists(fseeko HAVE_FSEEKO) if (NOT HAVE_FSEEKO) target_compile_definitions(minizip PRIVATE NO_FSEEKO) endif() target_link_libraries(minizip PUBLIC ZLIB::ZLIB) add_library(minizip::minizip ALIAS minizip)