1e5c31af7Sopenharmony_ci# cmake file for zlib 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_ciif (NOT DE_DEFS) 4e5c31af7Sopenharmony_ci message(FATAL_ERROR "Include Defs.cmake") 5e5c31af7Sopenharmony_ciendif () 6e5c31af7Sopenharmony_ci 7e5c31af7Sopenharmony_ciif (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/zlib.h") 8e5c31af7Sopenharmony_ci set(DEFAULT_ZLIB_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src) 9e5c31af7Sopenharmony_cielse () 10e5c31af7Sopenharmony_ci # Assume build inside Android source tree 11e5c31af7Sopenharmony_ci set(DEFAULT_ZLIB_SRC_PATH "../zlib/src") 12e5c31af7Sopenharmony_ciendif () 13e5c31af7Sopenharmony_ci 14e5c31af7Sopenharmony_ciset(ZLIB_SRC_PATH ${DEFAULT_ZLIB_SRC_PATH} CACHE STRING "Path to zlib source tree") 15e5c31af7Sopenharmony_ci 16e5c31af7Sopenharmony_ciif (IS_ABSOLUTE ${ZLIB_SRC_PATH}) 17e5c31af7Sopenharmony_ci set(ZLIB_ABS_PATH ${ZLIB_SRC_PATH}) 18e5c31af7Sopenharmony_cielse () 19e5c31af7Sopenharmony_ci set(ZLIB_ABS_PATH "${CMAKE_SOURCE_DIR}/${ZLIB_SRC_PATH}") 20e5c31af7Sopenharmony_ciendif () 21e5c31af7Sopenharmony_ci 22e5c31af7Sopenharmony_ciset(ZLIB_SRCS 23e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/adler32.c 24e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/compress.c 25e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/crc32.c 26e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/crc32.h 27e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/deflate.c 28e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/deflate.h 29e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/gzclose.c 30e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/gzguts.h 31e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/gzlib.c 32e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/gzread.c 33e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/gzwrite.c 34e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/infback.c 35e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inffast.c 36e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inffast.h 37e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inffixed.h 38e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inflate.c 39e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inflate.h 40e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inftrees.c 41e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/inftrees.h 42e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/trees.c 43e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/trees.h 44e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/uncompr.c 45e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/zconf.h 46e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/zlib.h 47e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/zutil.c 48e5c31af7Sopenharmony_ci ${ZLIB_ABS_PATH}/zutil.h 49e5c31af7Sopenharmony_ci ) 50e5c31af7Sopenharmony_ci 51e5c31af7Sopenharmony_ciif (DE_COMPILER_IS_MSC) 52e5c31af7Sopenharmony_ci # 4127: conditional expression is constant 53e5c31af7Sopenharmony_ci # 4131: 'x': uses old style declarator 54e5c31af7Sopenharmony_ci # 4242, 4244: conversion from 'x' to 'y', possible loss of data 55e5c31af7Sopenharmony_ci # 4996: deprecated POSIX name 56e5c31af7Sopenharmony_ci set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall /wd4127 /wd4131 /wd4242 /wd4244 /wd4996") 57e5c31af7Sopenharmony_ci 58e5c31af7Sopenharmony_cielseif (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG) 59e5c31af7Sopenharmony_ci set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-function-declaration") 60e5c31af7Sopenharmony_ci 61e5c31af7Sopenharmony_ciendif () 62e5c31af7Sopenharmony_ci 63e5c31af7Sopenharmony_ciif (DE_OS_IS_UNIX OR DE_OS_IS_QNX) 64e5c31af7Sopenharmony_ci add_definitions(-D_XOPEN_SOURCE=600) 65e5c31af7Sopenharmony_ciendif () 66e5c31af7Sopenharmony_ci 67e5c31af7Sopenharmony_ciif (NOT DE_COMPILER_IS_MSC) 68e5c31af7Sopenharmony_ci add_definitions(-DZ_HAVE_UNISTD_H) 69e5c31af7Sopenharmony_ciendif () 70e5c31af7Sopenharmony_ci 71e5c31af7Sopenharmony_ciset(CMAKE_C_FLAGS ${DE_3RD_PARTY_C_FLAGS}) 72e5c31af7Sopenharmony_ci 73e5c31af7Sopenharmony_ciadd_library(z STATIC ${ZLIB_SRCS}) 74e5c31af7Sopenharmony_ci 75e5c31af7Sopenharmony_ciset(ZLIB_INCLUDE_PATH ${ZLIB_ABS_PATH} PARENT_SCOPE) 76e5c31af7Sopenharmony_ciset(ZLIB_LIBRARY z PARENT_SCOPE) 77