mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.6 KiB
105 lines
2.6 KiB
# ---------------------------------------------------------------------------- |
|
# CMake file for zlib. See root CMakeLists.txt |
|
# |
|
# ---------------------------------------------------------------------------- |
|
|
|
project(${ZLIB_LIBRARY} C) |
|
|
|
include(CheckFunctionExists) |
|
include(CheckIncludeFile) |
|
include(CheckCSourceCompiles) |
|
include(CheckTypeSize) |
|
|
|
# |
|
# Check for fseeko |
|
# |
|
check_function_exists(fseeko HAVE_FSEEKO) |
|
if(NOT HAVE_FSEEKO) |
|
add_definitions(-DNO_FSEEKO) |
|
endif() |
|
|
|
# |
|
# Check for unistd.h |
|
# |
|
if(NOT MSVC) |
|
check_include_file(unistd.h Z_HAVE_UNISTD_H) |
|
endif() |
|
|
|
if(MSVC) |
|
add_definitions(-D_CRT_SECURE_NO_DEPRECATE) |
|
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) |
|
endif() |
|
|
|
# |
|
# Check to see if we have large file support |
|
# |
|
check_type_size(off64_t OFF64_T) |
|
if(HAVE_OFF64_T) |
|
add_definitions(-D_LARGEFILE64_SOURCE=1) |
|
endif() |
|
|
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein |
|
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) |
|
|
|
ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}") |
|
|
|
set(ZLIB_PUBLIC_HDRS |
|
${CMAKE_CURRENT_BINARY_DIR}/zconf.h |
|
zlib.h |
|
) |
|
set(ZLIB_PRIVATE_HDRS |
|
crc32.h |
|
deflate.h |
|
gzguts.h |
|
inffast.h |
|
inffixed.h |
|
inflate.h |
|
inftrees.h |
|
trees.h |
|
zutil.h |
|
) |
|
set(ZLIB_SRCS |
|
adler32.c |
|
compress.c |
|
crc32.c |
|
deflate.c |
|
gzclose.c |
|
gzlib.c |
|
gzread.c |
|
gzwrite.c |
|
inflate.c |
|
infback.c |
|
inftrees.c |
|
inffast.c |
|
trees.c |
|
uncompr.c |
|
zutil.c |
|
) |
|
|
|
add_library(${ZLIB_LIBRARY} STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL} ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) |
|
set_target_properties(${ZLIB_LIBRARY} PROPERTIES DEFINE_SYMBOL ZLIB_DLL) |
|
|
|
ocv_warnings_disable(CMAKE_C_FLAGS -Wshorten-64-to-32 -Wattributes -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshift-negative-value |
|
-Wundef # _LFS64_LARGEFILE is not defined |
|
/wd4267 # MSVS 2015 (x64) + zlib 1.2.11 |
|
-Wimplicit-fallthrough |
|
/wd4244 # MSVS + zlib 1.2.12: warning C4244: '=': conversion from 'ush' to 'uchf', possible loss of data |
|
) |
|
|
|
set_target_properties(${ZLIB_LIBRARY} PROPERTIES |
|
OUTPUT_NAME ${ZLIB_LIBRARY} |
|
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" |
|
COMPILE_PDB_NAME ${ZLIB_LIBRARY} |
|
COMPILE_PDB_NAME_DEBUG "${ZLIB_LIBRARY}${OPENCV_DEBUG_POSTFIX}" |
|
ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH} |
|
) |
|
|
|
if(ENABLE_SOLUTION_FOLDERS) |
|
set_target_properties(${ZLIB_LIBRARY} PROPERTIES FOLDER "3rdparty") |
|
endif() |
|
|
|
if(NOT BUILD_SHARED_LIBS) |
|
ocv_install_target(${ZLIB_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev) |
|
endif() |
|
|
|
ocv_install_3rdparty_licenses(zlib LICENSE)
|
|
|