diff options
Diffstat (limited to '')
-rw-r--r-- | CMakeLists.txt | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b902940..fc234f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -9,6 +9,10 @@ option(ZLIB_BUILD_EXAMPLES "Enable Zlib Examples" ON) | |||
9 | option(ZLIB_BUILD_SHARED "Enable building zlib shared library" ON) | 9 | option(ZLIB_BUILD_SHARED "Enable building zlib shared library" ON) |
10 | option(ZLIB_BUILD_STATIC "Enable building zlib static library" ON) | 10 | option(ZLIB_BUILD_STATIC "Enable building zlib static library" ON) |
11 | 11 | ||
12 | if(WIN32) | ||
13 | option(ZLIB_INSTALL_COMPAT_DLL "Install a copy as zlib1.dll" ON) | ||
14 | endif(WIN32) | ||
15 | |||
12 | include(CheckTypeSize) | 16 | include(CheckTypeSize) |
13 | include(CheckFunctionExists) | 17 | include(CheckFunctionExists) |
14 | include(CheckIncludeFile) | 18 | include(CheckIncludeFile) |
@@ -56,7 +60,6 @@ endif() | |||
56 | check_include_file(unistd.h Z_HAVE_UNISTD_H) | 60 | check_include_file(unistd.h Z_HAVE_UNISTD_H) |
57 | 61 | ||
58 | if(MSVC) | 62 | if(MSVC) |
59 | set(CMAKE_DEBUG_POSTFIX "d") | ||
60 | add_definitions(-D_CRT_SECURE_NO_DEPRECATE) | 63 | add_definitions(-D_CRT_SECURE_NO_DEPRECATE) |
61 | add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) | 64 | add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) |
62 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) | 65 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) |
@@ -147,13 +150,21 @@ if(MINGW) | |||
147 | set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) | 150 | set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) |
148 | endif(MINGW) | 151 | endif(MINGW) |
149 | 152 | ||
153 | if(WIN32) | ||
154 | set (zlib_static_suffix "s") | ||
155 | set (zlib_debug_suffix "d") | ||
156 | endif(WIN32) | ||
157 | |||
150 | if(ZLIB_BUILD_SHARED) | 158 | if(ZLIB_BUILD_SHARED) |
151 | add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) | 159 | add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) |
152 | target_include_directories(zlib PUBLIC | 160 | target_include_directories(zlib PUBLIC |
153 | $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> | 161 | $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> |
154 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) | 162 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) |
155 | set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) | 163 | set_target_properties(zlib PROPERTIES |
156 | set_target_properties(zlib PROPERTIES SOVERSION 1) | 164 | DEFINE_SYMBOL ZLIB_DLL |
165 | SOVERSION 1 | ||
166 | PROPERTIES OUTPUT_NAME z | ||
167 | PROPERTIES OUTPUT_NAME_DEBUG z${zlib_debug_suffix}) | ||
157 | endif(ZLIB_BUILD_SHARED) | 168 | endif(ZLIB_BUILD_SHARED) |
158 | 169 | ||
159 | if(ZLIB_BUILD_STATIC) | 170 | if(ZLIB_BUILD_STATIC) |
@@ -161,6 +172,9 @@ if(ZLIB_BUILD_STATIC) | |||
161 | target_include_directories(zlibstatic PUBLIC | 172 | target_include_directories(zlibstatic PUBLIC |
162 | $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> | 173 | $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> |
163 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) | 174 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) |
175 | set_target_properties(zlibstatic PROPERTIES | ||
176 | PROPERTIES OUTPUT_NAME z${zlib_static_suffix} | ||
177 | PROPERTIES OUTPUT_NAME_DEBUG z${zlib_static_suffix}${zlib_debug_suffix}) | ||
164 | endif(ZLIB_BUILD_STATIC) | 178 | endif(ZLIB_BUILD_STATIC) |
165 | 179 | ||
166 | if(NOT CYGWIN AND ZLIB_BUILD_SHARED) | 180 | if(NOT CYGWIN AND ZLIB_BUILD_SHARED) |
@@ -177,19 +191,11 @@ endif() | |||
177 | if(UNIX) | 191 | if(UNIX) |
178 | # On unix-like platforms the library is almost always called libz | 192 | # On unix-like platforms the library is almost always called libz |
179 | if(ZLIB_BUILD_SHARED) | 193 | if(ZLIB_BUILD_SHARED) |
180 | set_target_properties(zlib PROPERTIES OUTPUT_NAME z) | ||
181 | if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX)) | 194 | if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX)) |
182 | set_target_properties(zlib PROPERTIES | 195 | set_target_properties(zlib PROPERTIES |
183 | LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") | 196 | LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") |
184 | endif() | 197 | endif() |
185 | endif(ZLIB_BUILD_SHARED) | 198 | endif(ZLIB_BUILD_SHARED) |
186 | |||
187 | if(ZLIB_BUILD_STATIC) | ||
188 | set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME z) | ||
189 | endif(ZLIB_BUILD_STATIC) | ||
190 | elseif(BUILD_SHARED_LIBS AND WIN32) | ||
191 | # Creates zlib1.dll when building shared library version | ||
192 | set_target_properties(zlib PROPERTIES SUFFIX "1.dll") | ||
193 | endif() | 199 | endif() |
194 | 200 | ||
195 | if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) | 201 | if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) |
@@ -197,14 +203,19 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) | |||
197 | install(TARGETS zlib | 203 | install(TARGETS zlib |
198 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" | 204 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" |
199 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" | 205 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" |
200 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) | 206 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") |
207 | if(ZLIB_INSTALL_COMPAT_DLL) | ||
208 | install(FILES $<TARGET_FILE:zlib> | ||
209 | RENAME zlib1.dll | ||
210 | DESTINATION "${CMAKE_INSTALL_BINDIR}") | ||
211 | endif(ZLIB_INSTALL_COMPAT_DLL) | ||
201 | endif(ZLIB_BUILD_SHARED) | 212 | endif(ZLIB_BUILD_SHARED) |
202 | 213 | ||
203 | if(ZLIB_BUILD_STATIC) | 214 | if(ZLIB_BUILD_STATIC) |
204 | install(TARGETS zlibstatic | 215 | install(TARGETS zlibstatic |
205 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" | 216 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" |
206 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" | 217 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" |
207 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) | 218 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") |
208 | endif(ZLIB_BUILD_STATIC) | 219 | endif(ZLIB_BUILD_STATIC) |
209 | endif() | 220 | endif() |
210 | if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) | 221 | if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) |