Update-Installer/external/minizip/CMakeLists.txt

59 lines
1.2 KiB
CMake

project(minizip)
cmake_minimum_required(VERSION 2.6)
if (UNIX)
find_package(ZLIB REQUIRED)
endif()
set (SOURCES
ioapi.c
unzip.c
zip.c
)
set (HEADERS
ioapi.h
unzip.h
zip.h
)
if (APPLE OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
# Mac OS X does not have fopen64()
# and several related functions as the standard fopen()
# calls are 64bit
add_definitions("-DUSE_FILE32API")
endif()
add_definitions("-DHAVE_BZIP2")
add_library(minizip
${SOURCES}
${HEADERS}
)
if (UNIX)
# on Mac, link to libbz2 dynamically, on Linux
# we link statically to libbz2 so that an updater binary
# build on Debian (where the packaged libbz2 has a SONAME of "libbz2.so.1.0"
# works on Fedora/openSUSE (where no libbz2.so.1.0 symlink exists)
#
# see http://stackoverflow.com/questions/1835489/linking-an-application-to-libbz2-so-1-rather-than-libbz2-so-1-0
#
find_package(BZip2)
if(APPLE)
set(BZ2_LIB_NAME bz2)
target_link_libraries(minizip z ${BZ2_LIB_NAME})
else()
target_link_libraries(minizip z "${CMAKE_CURRENT_SOURCE_DIR}/../bzip2/libbz2.a")
endif()
else()
target_link_libraries(minizip
"${CMAKE_CURRENT_SOURCE_DIR}/../zlib/prebuilt/zlib_static.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/../bzip2/libbz2_static.lib"
)
endif()