CMake:use external zlib if present

This commit is contained in:
andy5995
2018-09-25 02:07:33 -05:00
parent 39310bad4d
commit 2f5e6b6439
2 changed files with 41 additions and 4 deletions

View File

@@ -231,15 +231,30 @@ IF(BUILD_MODEL_VIEWER OR BUILD_MAP_EDITOR OR BUILD_ZETAGLEST)
######################################################################################### #########################################################################################
# zetaglest lib # zetaglest lib
include(FindZLIB)
IF (FORCE_EMBEDDED_LIBS)
SET(DIRS_WITH_SRC
${DIRS_WITH_SRC}
miniz)
ELSE()
message(STATUS "Searching for zlib")
if (ZLIB_FOUND)
message(STATUS "Using external zlib")
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${ZLIB_LIBRARIES})
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
add_definitions("-DHAVE_ZLIB")
ENDIF()
ENDIF()
SET(DIRS_WITH_SRC SET(DIRS_WITH_SRC
compression ${DIRS_WITH_SRC}
compression
feathery_ftp feathery_ftp
glew glew
graphics graphics
graphics/gl graphics/gl
lua lua
map map
miniz
platform/common platform/common
sound sound
sound/openal sound/openal

View File

@@ -17,7 +17,6 @@
// is not a limitation of miniz.c. // is not a limitation of miniz.c.
#include "compression_utils.h" #include "compression_utils.h"
#include "miniz/miniz.h"
#include <limits.h> #include <limits.h>
#include <string> #include <string>
#include <vector> #include <vector>
@@ -25,6 +24,12 @@
#include "platform_util.h" #include "platform_util.h"
#include "util.h" #include "util.h"
#ifdef HAVE_ZLIB
#include <zlib.h>
#else
#include "miniz/miniz.h"
#endif
using namespace Shared::Util; using namespace Shared::Util;
namespace Shared { namespace Shared {
@@ -53,7 +58,13 @@ namespace Shared {
const char *pDst_filename = NULL; const char *pDst_filename = NULL;
long file_loc = 0; long file_loc = 0;
if (SystemFlags::VERBOSE_MODE_ENABLED) printf("miniz.c version: %s\n", MZ_VERSION); if (SystemFlags::VERBOSE_MODE_ENABLED) {
#ifdef HAVE_ZLIB
printf("zlib version: " ZLIB_VERSION "\n");
#else
printf("miniz.c version: " MZ_VERSION "\n");
#endif
}
if (argc < 4) { if (argc < 4) {
if (SystemFlags::VERBOSE_MODE_ENABLED) { if (SystemFlags::VERBOSE_MODE_ENABLED) {
@@ -294,8 +305,19 @@ namespace Shared {
} }
if (SystemFlags::VERBOSE_MODE_ENABLED) { if (SystemFlags::VERBOSE_MODE_ENABLED) {
#ifdef HAVE_ZLIB
printf("Total input bytes: %u\n", stream.total_in);
printf("Total output bytes: %u\n", stream.total_out);
#else
/*
* I don't know why this typecasting (mz_unit32) is used for
* miniz, but it was there when I found the code, so leaving it
* here for now.
* -andy5995, 2018-09-25
*/
printf("Total input bytes: %u\n", (mz_uint32) stream.total_in); printf("Total input bytes: %u\n", (mz_uint32) stream.total_in);
printf("Total output bytes: %u\n", (mz_uint32) stream.total_out); printf("Total output bytes: %u\n", (mz_uint32) stream.total_out);
#endif
printf("Success.\n"); printf("Success.\n");
} }
return EXIT_SUCCESS; return EXIT_SUCCESS;