Newer
Older
Bryan O'Sullivan
committed
# -*- cmake -*-
set(ZLIB_FIND_QUIETLY ON)
set(ZLIB_FIND_REQUIRED ON)
Jennifer Leech
committed
include(Prebuilt)
if (USESYSTEMLIBS)
Bryan O'Sullivan
committed
include(FindZLIB)
else (USESYSTEMLIBS)
use_prebuilt_binary(zlib-ng)
use_prebuilt_binary(minizip-ng)
Bryan O'Sullivan
committed
if (WINDOWS)
set(MINIZIP_LIBRARIES
debug libminizip
optimized libminizip)
set(ZLIB_LIBRARIES
debug zlibd
optimized zlib)
Monty Brandenberg
committed
elseif (LINUX)
set(MINIZIP_LIBRARIES minizip)
Monty Brandenberg
committed
#
# When we have updated static libraries in competition with older
# shared libraries and we want the former to win, we need to do some
# extra work. The *_PRELOAD_ARCHIVES settings are invoked early
# and will pull in the entire archive to the binary giving it
# priority in symbol resolution. Beware of cmake moving the
# achive load itself to another place on the link command line. If
# that happens, you can try something like -Wl,-lz here to hide
# the archive. Also be aware that the linker will not tolerate a
# second whole-archive load of the archive. See viewer's
# CMakeLists.txt for more information.
#
set(ZLIB_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive)
set(ZLIB_LIBRARIES z)
elseif (DARWIN)
set(MINIZIP_LIBRARIES minizip)
set(ZLIB_LIBRARIES -Wl,-force_load,${ARCH_PREBUILT_DIRS_RELEASE}/libz.a)
Bryan O'Sullivan
committed
endif (WINDOWS)
Monty Brandenberg
committed
set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib)
endif (USESYSTEMLIBS)