blob: 40ca18d9768636e550a5295c9ec559ada452e3c4 [file] [log] [blame] [edit]
# cmake file for zlib
if (NOT DE_DEFS)
message(FATAL_ERROR "Include Defs.cmake")
endif ()
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/zlib.h")
set(DEFAULT_ZLIB_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src)
else ()
# Assume build inside Android source tree
set(DEFAULT_ZLIB_SRC_PATH "../zlib/src")
endif ()
set(ZLIB_SRC_PATH ${DEFAULT_ZLIB_SRC_PATH} CACHE STRING "Path to zlib source tree")
if (IS_ABSOLUTE ${ZLIB_SRC_PATH})
set(ZLIB_ABS_PATH ${ZLIB_SRC_PATH})
else ()
set(ZLIB_ABS_PATH "${CMAKE_SOURCE_DIR}/${ZLIB_SRC_PATH}")
endif ()
set(ZLIB_SRCS
${ZLIB_ABS_PATH}/adler32.c
${ZLIB_ABS_PATH}/compress.c
${ZLIB_ABS_PATH}/crc32.c
${ZLIB_ABS_PATH}/crc32.h
${ZLIB_ABS_PATH}/deflate.c
${ZLIB_ABS_PATH}/deflate.h
${ZLIB_ABS_PATH}/gzclose.c
${ZLIB_ABS_PATH}/gzguts.h
${ZLIB_ABS_PATH}/gzlib.c
${ZLIB_ABS_PATH}/gzread.c
${ZLIB_ABS_PATH}/gzwrite.c
${ZLIB_ABS_PATH}/infback.c
${ZLIB_ABS_PATH}/inffast.c
${ZLIB_ABS_PATH}/inffast.h
${ZLIB_ABS_PATH}/inffixed.h
${ZLIB_ABS_PATH}/inflate.c
${ZLIB_ABS_PATH}/inflate.h
${ZLIB_ABS_PATH}/inftrees.c
${ZLIB_ABS_PATH}/inftrees.h
${ZLIB_ABS_PATH}/trees.c
${ZLIB_ABS_PATH}/trees.h
${ZLIB_ABS_PATH}/uncompr.c
${ZLIB_ABS_PATH}/zconf.h
${ZLIB_ABS_PATH}/zlib.h
${ZLIB_ABS_PATH}/zutil.c
${ZLIB_ABS_PATH}/zutil.h
)
if (DE_COMPILER_IS_MSC)
# 4127: conditional expression is constant
# 4131: 'x': uses old style declarator
# 4242, 4244: conversion from 'x' to 'y', possible loss of data
# 4996: deprecated POSIX name
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall /wd4127 /wd4131 /wd4242 /wd4244 /wd4996")
elseif (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-function-declaration")
endif ()
if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
add_definitions(-D_XOPEN_SOURCE=600)
endif ()
set(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS})
add_library(z STATIC ${ZLIB_SRCS})
set(ZLIB_INCLUDE_PATH ${ZLIB_ABS_PATH} PARENT_SCOPE)
set(ZLIB_LIBRARY z PARENT_SCOPE)