1- cmake_minimum_required (VERSION 2.4.4)
1+ # cmake_minimum_required(VERSION 2.4.4)
22set (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON )
33
4- project (zlib C)
5-
64set (VERSION "1.2.13" )
75
6+ IF (POLICY CMP0048)
7+ CMAKE_POLICY (SET CMP0048 NEW)
8+ project (zlib VERSION ${VERSION} LANGUAGES C)
9+ ELSE ()
10+ project (zlib C)
11+ ENDIF ()
12+
13+ IF (DISABLE_THESE_LINES)
814set (INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX} /bin" CACHE PATH "Installation directory for executables" )
915set (INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX} /lib" CACHE PATH "Installation directory for libraries" )
1016set (INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX} /include" CACHE PATH "Installation directory for headers" )
1117set (INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX} /share/man" CACHE PATH "Installation directory for manual pages" )
1218set (INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX} /share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files" )
19+ ENDIF (DISABLE_THESE_LINES)
1320
1421include (CheckTypeSize)
1522include (CheckFunctionExists)
1623include (CheckIncludeFile)
1724include (CheckCSourceCompiles)
18- enable_testing ()
25+ # enable_testing()
1926
2027check_include_file(sys/types.h HAVE_SYS_TYPES_H)
2128check_include_file(stdint.h HAVE_STDINT_H)
@@ -56,6 +63,7 @@ endif()
5663#
5764check_include_file(unistd.h Z_HAVE_UNISTD_H)
5865
66+ IF (DISABLE_THESE_LINES)
5967if (MSVC )
6068 set (CMAKE_DEBUG_POSTFIX "d" )
6169 add_definitions (-D_CRT_SECURE_NO_DEPRECATE)
@@ -81,6 +89,15 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
8189configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /zconf.h.cmakein
8290 ${CMAKE_CURRENT_BINARY_DIR} /zconf.h @ONLY)
8391include_directories (${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR} )
92+ ENDIF (DISABLE_THESE_LINES)
93+
94+ CONFIGURE_FILE (
95+ ${CMAKE_CURRENT_SOURCE_DIR} /zconf.h.cmakein
96+ ${CMAKE_CURRENT_BINARY_DIR} /zconf.h @ONLY
97+ )
98+ INCLUDE_DIRECTORIES (
99+ BEFORE SYSTEM ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
100+ )
84101
85102
86103#============================================================================
@@ -131,6 +148,36 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
131148string (REGEX REPLACE ".*#define[ \t ]+ZLIB_VERSION[ \t ]+\" ([-0-9A-Za-z.]+)\" .*"
132149 "\\ 1" ZLIB_FULL_VERSION ${_zlib_h_contents} )
133150
151+ ADD_CONVENIENCE_LIBRARY(zlib
152+ ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS} )
153+
154+ MY_CHECK_CXX_COMPILER_WARNING("-Wmissing-profile" HAS_MISSING_PROFILE)
155+ IF (HAS_MISSING_PROFILE)
156+ ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS ${HAS_MISSING_PROFILE} )
157+ ENDIF ()
158+
159+ MY_CHECK_CXX_COMPILER_WARNING("-Wdeprecated-non-prototype"
160+ HAS_DEPRECATED_NON_PROTOTYPE)
161+ IF (HAS_DEPRECATED_NON_PROTOTYPE)
162+ ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS ${HAS_DEPRECATED_NON_PROTOTYPE} )
163+ ENDIF ()
164+
165+ IF (NOT WIN32 )
166+ ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS "-fvisibility=hidden" )
167+ ENDIF ()
168+
169+ # Xcode >= 14 makes noise about sprintf, and loss of precision
170+ # when assigning integers from 64 bits to 32 bits, so silence:
171+ IF (APPLE )
172+ ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS " -Wno-deprecated-declarations" )
173+ ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS " -Wno-shorten-64-to-32" )
174+ ENDIF ()
175+
176+ RETURN ()
177+
178+ # Skip anything below.
179+ ################################################################
180+
134181if (MINGW)
135182 # This gets us DLL resource information when compiling on MinGW.
136183 if (NOT CMAKE_RC_COMPILER)
0 commit comments