Browse Source

support using minizip-ng instead of minizip

Andrey Filipenkov 1 month ago
parent
commit
cd9f029b39
2 changed files with 11 additions and 1 deletions
  1. 5 1
      CMakeLists.txt
  2. 6 0
      lib/filesystem/MinizipExtensions.h

+ 5 - 1
CMakeLists.txt

@@ -496,7 +496,11 @@ if(TARGET zlib::zlib)
 	add_library(ZLIB::ZLIB ALIAS zlib::zlib)
 endif()
 
-find_package(minizip REQUIRED)
+find_package(minizip)
+if(NOT minizip_FOUND)
+	find_package(minizip-ng REQUIRED)
+	add_library(minizip::minizip ALIAS MINIZIP::minizip-ng)
+endif()
 
 if (ENABLE_CLIENT)
 	if (ENABLE_VIDEO)

+ 6 - 0
lib/filesystem/MinizipExtensions.h

@@ -9,9 +9,15 @@
  */
 #pragma once
 
+#if __has_include(<minizip-ng/unzip.h>)
+#include <minizip-ng/unzip.h>
+#include <minizip-ng/zip.h>
+#include <minizip-ng/ioapi.h>
+#else
 #include <minizip/unzip.h>
 #include <minizip/zip.h>
 #include <minizip/ioapi.h>
+#endif
 
 // system zlib on old Androids isn't capable of using _64 functions: https://github.com/madler/zlib/pull/436
 #if defined(__ANDROID_API__) && (__ANDROID_API__ < 24)